Visual c++ 读取文本文件中不同长度的特定行的更简单方法是什么?

Visual c++ 读取文本文件中不同长度的特定行的更简单方法是什么?,visual-c++,Visual C++,我目前正在阅读一个长度不同的长文本文件,其中的信息被分解成块-具体来说,我试图将ifstream INFLE中的三个字符存储到变量中,三个字符放置在文件的不同部分,并将其位置写入文件本身。 我目前正在阅读的文本文件具有以下结构,我对其进行了大量简化: xxx>列表[计数]。想要的值为2; 填充>>列表[计数]。通缉值3; 计数++; 填充。忽略(81,“\n”); 对于(int i=0;i

我目前正在阅读一个长度不同的长文本文件,其中的信息被分解成块-具体来说,我试图将ifstream INFLE中的三个字符存储到变量中,三个字符放置在文件的不同部分,并将其位置写入文件本身。

我目前正在阅读的文本文件具有以下结构,我对其进行了大量简化:

xxx>列表[计数]。想要的值为2; 填充>>列表[计数]。通缉值3; 计数++; 填充。忽略(81,“\n”); 对于(int i=0;i 文件读取对于第一个块,甚至第二个块都可以正常工作。当我将所有这些打印到屏幕上时,我的输出如下所示:

a、b、c

a、b、c

a~然后是一堆胡言乱语,表明它毫无意义


在我的For循环中,我试图跳过“xxx xx x”行,不管指示了多少。但我有点困惑。我走对了吗?还是我的心态错了?提前谢谢

Nvm,我设法弄明白了!我需要在For循环之后跳过另一行。现在它就像一个符咒一样工作。

Nvm,我设法弄明白了!我需要在For循环之后跳过另一行。现在它就像一个符咒

int count = 0;
infile.get(List[count].first_item, 4);
while(infile)
{
    int temp = List[count].first_item;
    count++;
    infile.ignore(81, '\n');
    infile>> List[count].wanted_value_1;
    infile>> List[count].wanted_value_2;
    infile>> List[count].wanted_value_3;
    count++;
    infile.ignore(81, '\n');
    for (int i = 0; i < temp; i++)
    {
        infile.ignore(81, '\n');
        count++;
    }
    infile.get(List[count].first_item, 4);
}