C ++从格式化的.text文件中读取

时间:2012-08-24 05:53:09

标签: c++ stream

我需要从逗号分隔的.txt文件中读取,其中每行看起来都是这样的:

  

1234,0987,鲍勃,23.45

(即int,int,string,double)

使用以下设置代码:

fstream myFile;
myFile.open("textfile.txt" , ios::in);
if (myFile.is_open()) {
    //read in characters as appropriate type until ','
}

我尝试过使用

myFile >> int1 ......

但我不确定如何处理逗号;在读取整数时它们可能会被过滤掉,但是当我到达字符串时它会起作用吗?

我的一个同学建议使用stringstream,但我发现cplusplus.com上的文档已经过时了。

1 个答案:

答案 0 :(得分:1)

您可能想尝试std::getline功能:

istream& getline ( istream& is, string& str, char delim );
istream& getline ( istream& is, string& str );

(来自http://www.cplusplus.com/reference/string/getline/