【发布时间】:2014-06-13 17:07:24
【问题描述】:
我一直在尝试执行从文件中读取一行文本并将其保存到数组中的相对简单的任务。不幸的是,这并没有起作用,相反,简单的程序根本没有读取任何内容。这是我尝试使用的代码:
ifstream in_stream;
int x=0;
string array[150]
in_stream.open("file.txt");
while(!in_stream.eof()){
in_stream>>array[x];
x++;
}
我也尝试过如下使用getline:
ifstream in_stream;
int x=0;
string array[150]
in_stream.open("file.txt");
while(!in_stream.eof()){
getline(in_stream, array[x]);
x++;
}
这两种模式都不起作用,不会将任何内容读入数组,而是将其留空... 我只是不确定出了什么问题,所以如果有人可以提供帮助,那就太好了!
【问题讨论】:
-
附带说明,您应该使用
std::vector而不是数组。然后,您不必担心文件的大小。 -
在两个示例中,
string array[150]后面都缺少分号。 -
我不认为这会导致您遇到的问题,但在执行 in_stream>>array[x]; 之前检查 EOF;也不保证该操作会正常工作。你应该检查你是否真的成功读取了数据。