我需要帮助,如果我能找到类似的问题,我尝试谷歌搜索,但其他人的解决方案对我没用。
我尝试使用getline()
来阅读我已打开的文件,但它不接受我给出的参数。\ n \ n
我此时想要完成的事情(而不是整个程序)是打开.csv
文件并使用getline()
并使用{来确定其中包含的元素数量{1}}字符作为分隔符。我的循环有一个索引,我可以只添加1,这样我就可以得到文件中的元素总数。
我之所以这样做是因为我打算将它用于学校的项目,但到目前为止,我已经陷入了,
错误:
没有匹配函数来调用' std :: basic_ifstream :: getline(std :: string&,int,const char [2])'
我的代码在这里:
getline()
答案 0 :(得分:1)
使用免费的getline()
功能:
std::string line;
getline(infile, line);
答案 1 :(得分:0)
除了@UlrichEckhardt的回答,我还会处理这样的分隔符:
if(infile.is_open())
{
string temp;
// std::getline(std;:istream&, std::string) used below
while(getline(infile, temp)) {
std::stringstream stream(str);
std::string token;
while (std::getline(stream, token, ','))
if (!token.empty()) // it's up to you to decide how to handle empty tokens
i++;
}
}
请注意','
。如果它是"."
,编译器会将其视为一个字符串,这正是您在错误消息中看到的内容:自动附加'\0'
,从而生成char[2]