加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C同时输入和输出到控制台窗口

发布时间:2020-12-16 05:00:35 所属栏目:百科 来源:网络整理
导读:我正在写一个服务器(主要用于 Windows,但如果我可以保持多平台,这将很酷)我只是使用一个普通的控制台窗口.但是,我希望服务器能够执行诸如text_to_say_here或kick playername等命令.我怎样才能有异步输入/输出?我已经尝试了普通的printf()和gets_s的一些东西
我正在写一个服务器(主要用于 Windows,但如果我可以保持多平台,这将很酷)我只是使用一个普通的控制台窗口.但是,我希望服务器能够执行诸如text_to_say_here或kick playername等命令.我怎样才能有异步输入/输出?我已经尝试了普通的printf()和gets_s的一些东西但是这导致了一些非常奇怪的东西.

我的意思是像这样的1

谢谢.

解决方法

利用C 11功能的快速代码(即跨平台)
#include <atomic>
#include <thread>
#include <iostream>

void ReadCin(std::atomic<bool>& run)
{
    std::string buffer;

    while (run.load())
    {
        std::cin >> buffer;
        if (buffer == "Quit")
        {
            run.store(false);
        }
    }
}

int main()
{
    std::atomic<bool> run(true);
    std::thread cinThread(ReadCin,std::ref(run));

    while (run.load())
    {
        // main loop
    }

    run.store(false);
    cinThread.join();

    return 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读