我试图将文本文件从一种格式解析为另一种格式。文本文件由制表符分隔。我用作测试的文本文件到目前为止有三种类型的行。例如,文本文件的第一行在开头有一个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的每一行(特别是前两个)的问题。
谢谢,如果不够明确,请抱歉。