Встал перед вопросом, как считать числа из текстового файла напрямую в массив.
ifstream in("input.txt");
if (!in)
{
cout << "File not found" << endl;
system("pause");
return 1;
}
//сколько чисел в файле
int count = 0;
int temp;
while (!in.eof())
{
in >> temp;
count++;// счетчик числа чисел
}
in.seekg(0, ios::beg);
in.clear();
int count_space = 0;
char symbol;
while (!in.eof())
{
in.get(symbol);
if (symbol == ' ') count_space++;
if (symbol == '\n') break;
}
Наваял пока только это, дальше ухожу в гору ошибок. Подскажите решение, если можно как-то проще решить эту задачу был бы рад узнать как. Числа могут быть представлены по разному: в одной строке, в нескольких строках, с кучей пробелов между ними(не знаю, как адаптировать свои условия к этому).
Где же у вас правильный вопрос?... В заголовке - числа из файла в массив. Я отвечаю на него.
Вам нужен именно массив в C'шном смысле? Или в C++'ном, где его с успехом заменяет вектор? :)
Проще всего, пожалуй, так:
vector<int> data;
...
int n;
while(in >> n) data.push_back(n);
А в тексте - уже говорите о символах. Вы уж определитесь...
И еще - проверять while(!in.eof())
- неверно, потому что флаг конца файла будет выставлен после неудачного чтения за концом файла, т.е. вы можете стоять на конце файла, но in.eof()
вернет false
.
Update
int n, count = 0;
while(in >> n) ++count;
in.clear();
in.seekg(0, ios::beg);
int * data = new int[count];
count = 0;
while(in >> n) data[count++] = n;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как передать файл в функцию вроде разобралсяНо есть непонятные моменты
Добрый день! Подскажите есть ли возможность получить базовый адрес потока по thread IDНеобходимо для определения из какого модуля процесса запущен...
Добрый день, подcкажите как cоздать облаcть интереcов в виде трапеции c помощью и cvSetImageROI или без помощи нееCпаcибо