本人是C++菜鸟,对文件流操作还不是很懂。有没有可以解释下file>>c什么意思。

static void pnm_read(std::ifstream &file, char *buf) {
char doc[BUF_SIZE];
char c;

file >> c;
//未进循环
while (c == '#') {
file.getline(doc, BUF_SIZE);
file >> c;
}
file.putback(c);

file.width(BUF_SIZE);
file >> buf;
file.ignore();
}

文件流是输入输出流。数据在程序中以流的形式出现,
比如cin就是个输入流
cin 搭配上>>流操作符 就是从缓冲区流里提取数据,由于对>>进行了重载,所以可以提取不同形式的数据。
fstream等可以定义文件流,同样是数据流。
file >> c;就是从这个文件流里面提取字符c。file << 就是写到文件里。除了用重载的流操作符也可用成员函数进行流的操作,如getline等成员函数。
很多小朋友对<<,>>的方向很糊涂,其实cout 或cin把他们看做一个流(他们本来就是流),那么cout这个输出流要将数据送到这个流,所以是cout <<。而cin是输入流,要流向待接收的数据,所以是cin >>。同理向文件写入是file <<。写出是file >>
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-23
你该用过cin和cout吧,在#include <iostream> using namespace std;之后,往变量var中输入值为:cin>>var,输出为cout<<var
这个cin和cout跟你这个例子里的file一个道理。锁定文件流到file,然后用流操作符>>导出,导去哪儿呢,导到>>后的变量中去。
粗略这样理解,如果想深入理解,google或者百度文件操作的相关章节。
第2个回答  2011-08-23
其实我也不是很懂!
相似回答