【发布时间】:2012-11-13 09:33:54
【问题描述】:
C++ ifstream get line change getline output from char to string
我有一个文本文件.. 所以我读了它并做了类似的事情
char data[50];
readFile.open(filename.c_str());
while(readFile.good())
{
readFile.getline(data,50,',');
cout << data << endl;
}
我的问题是不是通过变量名数据创建大小为 50 的字符,我可以将 getline 转换为字符串而不是类似
string myData;
readFile.getline(myData,',');
我的文本文件是这样的
Line2D,[3,2] Line3D,[7,2,3]
我试过了,编译器说..
getline(std::string&,char)没有匹配函数
所以是否仍然可以通过分隔符来打破,将值分配给字符串而不是字符。
更新:
使用
while (std::getline(readFile, line))
{
std::cout << line << std::endl;
}
它逐行读取,但我想将字符串分成几个分隔符,最初如果使用 char 我会将分隔符指定为第三个元素
readFile.getline(data,50,',');
如果我用分隔符逗号打破/explode,我该如何处理字符串,上面的那个。一行一行
【问题讨论】:
-
@billz 是的,它说没有提及 getline(std::string&,char) 的功能