gpt4 book ai didi

c++ - 如何使用函数 freopen_s

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:24:43 30 4
gpt4 key购买 nike

为了从文本文件中读取输入,我写了下面的代码:

int main(){
int x;
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
#endif
scanf("%d", &x);
printf("%d\n", x);
system("pause");
return 0;
}

效果还不错。

但是,在 visual studio 中,编译器由于 freopen 而给我一个错误,并建议我改用 freopen_s。我试图了解函数 freopen_s 的工作原理,但我做不到。我的代码:

int main(){
int x;
#ifndef ONLINE_JUDGE
FILE *stream;
freopen_s(&stream, "input.txt", "r", stdin);
#endif
scanf("%d", &x);
printf("%d\n", x);
system("pause");
return 0;
}

它不输出任何东西,甚至“暂停”也不起作用。 cmd 在程序完成后立即消失,没有打印任何内容。我不知道为什么在 freopen_s 中使用“stream”。感谢您回答我的问题。

最佳答案

我会给你另一种方法。如果你仍然想使用 freopen,你可以使用“-D _CRT_SECURE_NO_WARNINGS”这个选项与终端命令一起,错误信息会被抑制。

在 VS 中,您可以在以下链接下添加它 -

项目->“项目”属性-> C/C++ -> 命令行-> 附加选项(右下角的文本框)。

这应该可以解决问题!

关于c++ - 如何使用函数 freopen_s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22047828/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com