标签: c++ parsing csv format
我在阅读CSV时遇到了一些麻烦。我有多种类型的数据,所以我不知道如何让它工作:
string, string, bool, bool, int
我不能简单地使用>>读取数据,因为deliminator不是空格。 scanf不起作用,因为它需要人工输入,而不是文件输入,getline只读取字符串,并且出于某种原因还包括\n字符。
>>
scanf
getline
\n
我怎样才能正确阅读我的csv?
答案 0 :(得分:5)
您可以使用getline。有一个重载,传递的第三个参数可以是分隔符的char。把它全部放在循环中
答案 1 :(得分:2)
另一个选项(通常不推荐用于C ++)是fscanf。你是对的,scanf对你没有好处,但fscanf是基于文件的等价物。
fscanf
C中通常使用的另一个规范解决方案,但在C ++中并不强烈推荐,是继续使用getline,然后使用strtok或简单的解析器来解析每一行。
strtok