Хочу брать из файла числа и вписывать в элементы массива. Почему не работает? И как работает while (file >> k), while (file >> m)
, если я правильно написал и можно ли использовать разные перемненные или достаточно одной?
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream file("f.txt");
ofstream fileout("g.txt");
int count = 0, m;
while (file >> m)
count++;
if (count % 2 == 1)
{
cout << "Ne 4etno. Input 4etno." << endl;
system("pause");
return 0;
}
int *a = new int[count];
int i = 0, k;
while (file >> k)
{
file >> a[i];
i++;
}
for (int j = 0; j <count; j++) {
cout << a[j] << " ";
}
file.close();
fileout.close();
system("pause");
return 0;
}
Перемотайте файл на начало:
...
file.clear();
file.seekg(0);
int *a = new int[count];
int i = 0, k;
while (file >> k)
{
a[i] = k; // !!
i++;
}
...
N.B.
count
.ofstream
.Update
А, и если Вам надо считывать пары чисел, то:
while (file >> k && file >> m)
{
...
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Как можно упростить/улучшить код, чтобы он не кушал ~50% ЦП? Вот, собственно, код:
возникла проблема с использованием boost, использую пример по туториалу с двуноправленным контейнером, но он почему-то отказывается работать