c++ ifstream 和 ofstream 名子含义的理解

来源:百度知道 编辑:UC知道 时间:2024/05/21 09:22:00
我正在学习c++,对c++文件操作的ifstream和ofstream类和它们中包含的函数的名子感到奇怪.
ifstream不就是input file stream(输入文件流),ofstream也不就是output file stream(输出文件流)吗?比如我们有这样两行语句:ifstream in("c:\\config.sys");和ofstream out("c:\\config.sys");第一个是可以从config.sys中读出数据的,第二个是可以向config.sys中写入数据的.但是按字面意思,ifstream是输入文件流,是输入到文件的,使用它是应该可以把东西写入到文件的.ofstream也是这样,使用它应该是可以把东西从文件中读出的.这却与真实的情况正好相反.
我现在很迷惑,请高手们给我分析一下,我在什么地方想错了.谢谢啦!!!!

是你对象搞错了,因为这个流是基于那个win32控制平台来说的,比如说你要读文件的内容,对于平台来说,这个数据应该是从文件输入到平台,即输入流,但它是读取文件的内容,反之输出流即从平台里面的数据输出到文件中.理解了没有??不懂的话,可以再问我!这样可以吗?

你理解错了,
输入文件流是从文件里面把数据读取到流中.
输出就是把流里的东西输出到文件里.

cin/cout也是一样的
cin把I/O的输入读取到流中....
cout把流中的东西输出到I/O上.

文件!=文件流,明白不?

这里输入输出,针对内存而言的,不是不针对文件

输入,如cin,scanf都是从屏幕输入数据到内存中的变量的
ifstream只不过是从文件里读取数据,并输入到内存的某些变量中而已

输出,也是同样的道理