#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 остаются старые данные. Почему это происходит и как это можно исправить ?
Во-первых, вы закрываете файл
fin.close(); // закрываем файл
и после этого все, все действия с ним бессмысленны.
Во-вторых, этот способ работы
while(!(fin.eof())) {
неверен - см. Правильное использование проверки конца файла
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Нужна программа, которая считает количество вхождений в текст каждого символа
Всем привет, никак не могу разобраться, как написать post-запрос к яндекс кассеСам запрос, который ниже проверял, все работает
Подскажите,пожалуйста, какой нужен код, для размещения файлов форматовglb,