如何配置 Codeblocks 在程序完成后不关闭控制台?
Posted
技术标签:
【中文标题】如何配置 Codeblocks 在程序完成后不关闭控制台?【英文标题】:How can I configure Codeblocks to not close the console after the program has finished? 【发布时间】:2020-04-07 15:58:22 【问题描述】:我应该指定,我不想要做等待输入的事情或使用调试器。我希望程序像往常一样运行和终止,但控制台窗口在终止后没有关闭。我知道这是可以做到的,我见过有 hello world 程序的人(没有getchar()
)按“构建并运行”,窗口仍然打开。
我在 Windows 10 上使用 Code::Blocks 17.12。
【问题讨论】:
Code::Blocks 的行为因版本和平台而异。也许指定版本号和您正在使用的操作系统?在我当前的计算机(Debian,codeblocks 16)上,它开箱即用。 @user12986714 我已编辑我的帖子以包含此信息。 这可能是重复的,看看this对你有没有帮助 @metablaster Visual Studio 也有问题。它是一个具有不透明数据收集(说得非常温和)做法的数千兆字节怪物,它只支持 Windows,至少也有后一个问题,尤其是 10。 @nada 磁盘空间(甚至内存空间)不足不是现在这些计算机组件并不昂贵的借口,而不是 1980 年,您必须使用 1GB 内存或 50GB 硬盘。除了 OP 正在使用 Windows 10。并且可以禁用这些数据收集。 【参考方案1】:Project -> Properties -> Build targets
。您应该在某处看到一个标记为:Pause when execution ends
的复选框。您的应用程序类型必须是 Console application
。
注意:我使用 Code::Blocks 16.01。您的可能略有不同。
或者,您可以登录到文件:
#include <stdio.h>
FILE* logfile;
int main()
logfile = fopen("logging.txt", "w");
if(logfile == NULL)
// Couldn't open the file.
return 1;
fprintf(logfile, "Logging to logging.txt\n");
fclose(logfile);
return 0;
或者您可以“重定向”stdout
到一个文件:
freopen("stdout.txt", "w", stdout);
printf("Logging to stdout.txt\n");
这两个都是 C。对于 C++:Writing a Log file in c/c++
【讨论】:
以上是关于如何配置 Codeblocks 在程序完成后不关闭控制台?的主要内容,如果未能解决你的问题,请参考以下文章