我有一个文本文件,其中存储了一些数据。有几个数据块以不同的方式格式化,所以我需要我的程序能够判断一个块何时结束,另一个块何时开始。这是一个非常简单的例子。
文本文件:
a 1
b 2
c 3
qwerty
asdfgh
xcvbnm
我的程序:
int x;
char a;
string line;
while(ifs >> a >> x)
cout << a << " " << x << "\n";
cout<<"\n" << "next block of data" << "\n";
while(ifs >> line)
cout << line;
但是它没有读取下半部分。我认为使用 >> 格式化读取只会丢弃空格,所以我认为在第一个 while() 失败后,第二个 while() 应该开始读取后半部分。这是我的输出:
a 1
b 2
c 3
next block of data
另外,如果有人可以推荐一些关于此的内容,我将不胜感激。我搜索了几本书和互联网,找不到任何关于 >> 运算符如何工作的清晰手册。