У меня есть текстовый файл с именем in.txt, который имеет целое число в каждой строке. Первая строка содержит количество строк минус 1 (= число целых чисел). Я хочу прочитать эти целые числа в массиве. Так что я написал ниже программу:Чтение целого числа из файла в C++
#include <iostream>
#include <fstream>
int main(int argc, char * argv[])
{
std::fstream myfile("in.txt");
int number;
int counter=0;
myfile >> number;
int inputArray[number];
for(counter=0;counter=number;counter++)
{
myfile>>inputArray[counter];
}
for(counter=0;counter=number;counter++){
printf("%i",inputArray[counter]);
}
return 0;
}
Q1: Когда я запускаю его, ничего не происходит! Появится черный экран и останется пустым. Что не так?
Q2: Если входной файл был действительно большим (содержит около 2^27 целых чисел), эта программа хорошая идея, или я должен сделать что-то еще?
'нет массивов с переменным размером в C++': Я использовал переменную размерную массив в моей программе? Я заменил '=' '' 'символом для циклов, и программа теперь работает нормально. – Abraham
@Abraham 'int inputArray [number];' является VLA, потому что 'number' не является константой времени компиляции. Вы можете сделать это с помощью 'g ++' и 'clang ++', потому что они поддерживают его как расширение, но это не стандартный C++. –
В вашем тексте предложения хранятся ли целые числа в куче? Как насчет моей программы? – Abraham