gpt4 book ai didi

C++ 单独的命令行窗口?

转载 作者:行者123 更新时间:2023-11-30 00:40:33 26 4
gpt4 key购买 nike

所以我有一个 GUI 程序,出于某种原因它不允许我使用 printf() 进行调试。当我使用 printf() 时,由于某种原因它没有转到 Visual Studio 调试器。

无论如何,我想制作自己的独立窗口,在 GUI 打开时打开,并且基本上能够将信息输入该控制台并与之对话。

例如:

void talk(std::string info){
//Add the value of info to the next line in the console
}

有人知道怎么做吗?基本上创建一个命令行并与之对话,以便我可以看到输出:

CommandLine c;
c.talk("hey!");

最佳答案

您可以使用 AllocConsole 创建控制台创建一个控制台,然后显式写入该控制台(有几种方法,GetStdHandle 和文件写入都可以)。您也可以使用 OutputDebugString写入 VS 输出窗口。

void makeConsole()
{
AllocConsole();
console = GetStdHandle(STD_OUTPUT_HANDLE);
}

void talk(std::string info)
{
WriteFile(console, info.c_str(), info.length()); // To console
OutputDebugString(info.c_str()); // To output window
}

(伪代码,功能可能不太对)

编辑:如果您仅通过 talk 函数向控制台写入内容,则此方法可以正常工作。如果您在整个代码中都使用 printf/cout,那么您肯定希望使用 Ben 的方法(重复使用要简单得多)。

关于C++ 单独的命令行窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5798086/

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