C ++ - 读入以逗号分隔的文件行

时间:2013-04-03 21:00:09

标签: c++ ifstream getline comma

我试着查看我想要做的事情,但我无法找到具体的我正在尝试做的事情。我有一个包含多行的文本文件,如下所示:

12345,12345,12.34,12345,12345

每行都有相同的格式,我想得到每一行并将数字插入某些变量。像这样:

file >> int1 >> int2 >> double1 >> int3 >> int4;

但由于逗号分隔每个数字,这对我来说很难。我曾经能够在有“空间”时这样做但是逗号真的让我失望了。有什么想法吗?

3 个答案:

答案 0 :(得分:6)

char ch;
file >> int1 >> ch >> int2 >> ch >> dbl >> ch >> int3 >> ch >> int4;

答案 1 :(得分:4)

您可以尝试fscanf

这样的东西?

 fscanf(filepointer, "%d,%d,%f,%d,%d\n", &int1, &int2, &double1, &int3, &int4);

答案 2 :(得分:0)

之前的建议效果很好。但是,如果您可以使用c ++ 11并且需要更强大的解决方案,我建议使用c ++ 11正则表达式库:http://en.cppreference.com/w/cpp/regex