c - C 中的同时读写(stdin,stdout)

标签 c stdout stdin simultaneous

我正在尝试编写一个聊天客户端和服务器,客户端应该能够从服务器打印消息,同时也在控制台上写一些东西。

所以我创建了一个 pthread 来读取用户输入,主线程打印来自服务器的消息。但是,当我键入内容并收到消息时,我正在键入的文本会被推送到控制台上。我该如何解决?

例如: 我正在输入“abcdef”,然后当我从服务器收到消息时(但还没有完成输入),它看起来像这样:

abcdef[Chatuser1]:你好

最佳答案

在多线程程序中使用信号量或互斥量等同步技术来同步输入和输出

关于c - C 中的同时读写(stdin,stdout),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16385925/

相关文章:

c - Contiki 中的头文件在哪里?

shell:在两个不同的变量中捕获命令输出并返回状态

linux/dev/null 写操作成功

bash - 如何循环遍历大文件和输出行以通过 stdin 进行 curl ?

c - 如何在 C 中递归地反转整数 vector (数组)?

c - 我不断收到此错误段错误(核心已转储)

自定义 int 大小,而不是使用 <stdint.h>

python - 将 django manage.py 输出(在 Windows 中)重定向到文本文件

ruby - Runy Open3.popen3 从命令行输入子进程

php - 如何使用 fscanf 读取 php 中的一行数字