【发布时间】:2013-02-13 17:19:35
【问题描述】:
我想从一个文本文件中读取,文件的格式是
方法一
方法二
插入 3“詹姆斯·谭”
我目前正在使用 ifstream 打开文本文件并读取项目,但是当我使用 >> 读取行时,导致名称未完全读取为“James Tan”。 下面附上代码和输出。
ifstream fileInput;
if(fileInput.is_open()){
while(fileInput.good()){
fileInput >>methondName>>value>>Name;
......
输出
methodName = Method, Method, Insert
value = 1, 2, 3 (must be a usigned integer)
Name = James
处理读取行和内容的更好方法是什么。 有人告诉我getline。但我知道 getline 完全读为一行,而不是一个字一个字。
接下来是 fstream 真的快吗?因为,我想处理 500000 行数据,如果 ifstream 不快,我还有什么其他选择。
请对此提出建议。
【问题讨论】:
-
你真的不应该做
while (stream.good()) ...,你甚至不需要检查文件是否打开。只需打开文件,然后执行while (stream >> input >> input2) ...。