【发布时间】:2017-05-07 13:35:32
【问题描述】:
我对 C++ 非常陌生,并且从学校得到了这个作业,现在我被困住了,因为我无法让它工作,我们将不胜感激。提前致谢。
我有一个包含如下整数的文本文件:8 3 7 1 2 0
我需要创建一个程序来读取这些整数并将它们存储在一个数组中。程序检查文本文件并计算有多少整数,并相应地创建所需大小的数组,然后用文件中的整数填充该数组。我想出了这样的事情:
#include <iostream>
#include <fstream>
using namespace std;
int main(){
ifstream File("data.txt");
int count;
File >> count;
int array[count];
for(int i=0; i<count; i++){
File >> array[i];
}
cout<<"File contains: "<<count<<" integers";
cout<<"Array of integers taken from the file: ";
for(int i=0; i<count; i++){
cout<<array[i];
}
}
由于某些原因,我的 count 整数没有得到任何值,我已经检查过了,它在程序之后只是一个零,因此我的整个代码将无法工作。
【问题讨论】:
-
使用
File.is_open()查看是否打开文件成功。 -
尝试检查每个I/O操作(打开,每个读操作)是否真的成功。还有
int array[count],带有count的变量不是有效的C++(如果你的编译器接受它,它是编译器特定的扩展)。此外,从您描述的示例中,该文件不包含要读取的后续整数的数量。 -
了解其余的读取操作是否成功会很有帮助。
标签: c++