Второй раз не срабатывает fin в цикле

262
25 июля 2021, 06:40
#include <iostream>
#include <fstream>
#include <cmath>
#include <bitset>
#include <limits>
using namespace std;
const int m_size = 50;

int main() {
    char buff[m_size];
    char total[m_size];
    char fcat[m_size];
    char ch;
    int sign;

ifstream fin("numbers.txt");
while(!(fin.eof())) {
    fin >> buff; // считали первое слово из файла
    cout << buff;
    /*Считываем целую часть и 2 символа после запятой*/
    size_t index = 0;
    size_t d = 0;
    while (buff[index] != 'E') {
        total[d++] = buff[index++];
    }
    total[d++] = '\0';
    d = 0;
    index++;
    if (buff[index++] == '-') {
        sign = -1;
    }
    else {
        sign = 1;
    }
    while (buff[index] != '\0') {
        fcat[d++] = buff[index++];
    }
    fcat[d] = '\0';
    int degree = atoi(fcat) * sign;
    long long numbers;
    float i_num = atof(total);
    int d_num = pow(10, degree);
    numbers = i_num * d_num;
    fin.close(); // закрываем файл
    ofstream fout("out.txt",ofstream::app); 
    fout << numbers << ' '; // запись строки в файл
    if ((ch = fin.eof()) == true) {  
        break;
        }
}
}

fin >> buff

Здравствуйте. У меня возникла проблема во время работы с файлом. Первое считывание происходит хорошо и buff сохраняются нужные мне данные, но когда должно произойти второе считывание в buff остаются старые данные. Почему это происходит и как это можно исправить ?

Answer 1

Во-первых, вы закрываете файл

fin.close(); // закрываем файл

и после этого все, все действия с ним бессмысленны.

Во-вторых, этот способ работы

while(!(fin.eof())) {

неверен - см. Правильное использование проверки конца файла

READ ALSO
Помогите пожалуйста подправить мой код. Программа, которая считает количество вхождений в текст каждого символа

Помогите пожалуйста подправить мой код. Программа, которая считает количество вхождений в текст каждого символа

Нужна программа, которая считает количество вхождений в текст каждого символа

219
яндекс касса и jquery

яндекс касса и jquery

Всем привет, никак не могу разобраться, как написать post-запрос к яндекс кассеСам запрос, который ниже проверял, все работает

144
Размещение 3D файлов на форуме

Размещение 3D файлов на форуме

Подскажите,пожалуйста, какой нужен код, для размещения файлов форматовglb,

135