0
#include<iostream>
using namespace std;

int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);

    int a,b;
    cin >> a >> b;
    cout << a+b;    
    return 0;
}

当我从终端(Mac)编译它时,它不会从 input.txt 读取含义,也不会写入 output.txt。问题是什么?

4

2 回答 2

0

你忘记优雅地关闭文件

fclose (stdin);
fclose (stdout);

注意: fclose() 函数刷新 stdout 指向的流(使用 fflush 写入任何缓冲的输出数据并关闭底层文件描述符。

于 2013-10-24T17:54:56.860 回答
0

@Chingy,我看到了你的截图。请查看此文档以了解 g++ 的基本介绍。请注意,程序的编译和执行是不同的实例。

第一步是编译,您按照屏幕截图正确执行。
1) g++ 1.cpp。

此步骤将创建一个可执行文件 (a.out),您需要单独运行它才能从程序中获得所需的行为。

请按如下方式执行程序:
2) ./a.out

于 2013-10-24T18:38:09.463 回答