解析制表符分隔的文本文件

时间:2016-06-09 03:13:02

标签: c++ ifstream getline text-parsing

我试图将文本文件从一种格式解析为另一种格式。文本文件由制表符分隔。我用作测试的文本文件到目前为止有三种类型的行。例如,文本文件的第一行在开头有一个H.由于我现在不需要它,我忽略它并转到下一行。类似地,我有以S和L开头的行.S行有五个字符串,包括第一个字符,可以通过以下方式读取:

while(std:: ifstream readFile >> string1 >> string2 >> string3)

while下面我有if语句来检查每行开头的每个S,如下所示:

if(string1[string1.length()-1]=='S')

然后我在控制台中打印每个值,以确保在控制台中打印每一条有S的行,但事实并非如此。它显示n - 2 n = total of lines containing S at the beginning。我还应该提到print下面的陈述,我也有:std::getline(readFile, string1);没有这个,它会显示n - 5,如果我没有弄错的话。

另外,当我只使用两个参数而不是三个时,所有行都显示前两个字符串,但只要我传递三个参数,它就会变回n - 2

当我传递两个以上的参数时,它不会向我显示开头时包含S的每一行(特别是前两个)的问题。

谢谢,如果不够明确,请抱歉。

0 个答案:

没有答案