gpt4 book ai didi

c - scanf 中断,printf 在线程中

转载 作者:行者123 更新时间:2023-11-30 17:27:06 25 4
gpt4 key购买 nike

我有一个简单的线程来打印数字,问题是该线程是在 scanf 上打印的。类似这样的事情。

input> DATAOFTHREAD

但我想打印类似的结果

DATAOFTHREAD
input>

这可能吗?我应该使用什么功能?这是我的代码:

#include <stdio.h>
#include <pthread.h>

void *connection_handler(void* data) {
int i = (int)data;
for(i=0;i<5;i++) {
printf("%d", i);
fflush(stdout);

}

pthread_exit(NULL);
}

int main()
{
int t;
int x;
int rc;
pthread_t thread_id;
rc = pthread_create(&thread_id, NULL, connection_handler, (void *)x);
if(rc) {
printf("Error en pthread()\n");
return 1;
}
printf("Ingresa un numero: ");
scanf("%d", &t);

printf("%d\n", t);

pthread_exit(NULL);

return 0;

}

谢谢

最佳答案

您可以调用 pthread_join,以便仅在线程完成后才执行 scanf:

pthread_join(&thread_id, NULL);
printf("Ingresa un numero: ");
scanf("%d", &t);

顺便说一句,您不需要在 main() 中调用 pthread_exit。

关于c - scanf 中断,printf 在线程中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26518920/

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