freopen() 在 Mac 上不起作用

freopen() doesn't work on mac

本文关键字:不起作用 Mac freopen      更新时间:2023-10-16

我正在尝试在mac os上使用freopen()运行代码,但它不会在指定的文件中打印任何输出。虽然,它在Windows上完美运行。我正在使用 X 代码编辑器,输入和输出文件与 cpp 文件位于同一路径中

#include <cstdio>
int main(){
    freopen("input.in","r",stdin);
    freopen("output.out","w",stdout);
    int x;
    scanf("%d",&x);
    printf("%dn",x);
    return 0;
}
这是因为

可执行文件的工作目录不是您拥有.cpp文件的目录。

您可以指向具有绝对路径的文件,例如。 /Users/omar/Documents/input.in

或从 Xcode 设置更改工作目录(请参阅在 Xcode 中更改工作目录)

我个人尝试更改工作目录,但它仍然不起作用......后来我发现,如果你使用终端编译你的c ++文件,根本不会有麻烦!

要使用终端编译 c++,请键入以下命令:

  1. cd yourFileDirectory
  2. g++ -o yourFileName yourFileName.cpp(这将编译您的代码)
  3. ./yourFileName(这将成功运行代码!