1

我对ofstream有点困惑。ofstream 继承自 ostream。它还从 ostream 继承了方法“operator<<”。

    ofstream x;
    x << "hello world" << endl;
     //cout << "hello world" << endl;

    system("pause");
    return 0;

上面的代码片段试图使用 ofsream 的对象将“hello world”输出到终端,就像 cout 一样。

上面的代码片段可以编译但什么也不显示。为什么会这样?

谢谢,

4

3 回答 3

2

ofstream是文件对象的抽象。为了能够创建文件,您需要传入文件名。如果您不ofstream创建默认对象(这就是它编译的原因)。这样的对象本身并没有多大用处。尝试:

ofstream x( "out.txt" );
x << "hello world" << endl;

...
于 2012-06-16T04:47:11.453 回答
0

已经很长时间了,但是流的 IIRC 是一个 output_file-stream ,它将数据流式传输到打开的文件中。要使 ofstream 对象实际打印到终端,您必须将其打开“/dev/console”或类似的东西。一个普通的 ofstream 实例可能不会打开 /dev/console b/c 你已经有 cout 可用。

于 2012-06-16T04:50:14.453 回答
-1

http://en.wikipedia.org/wiki/Input/output_%28C%2B%2B%29

<iostream> contains the definition of basic_iostream class template, 
which implements formatted input and output
<fstream> contains the definitions of basic_ifstream, basic_ofstream and 
basic_fstream class templates which implement formatted input, output and input/output
on file streams.
于 2012-06-16T05:15:05.793 回答