模拟代码的结构:
// Thread void printToScreen(){
while(1){
printf("Hello");
while(state == 1){
//Wait
}
}
}
main(){
while(1){
scanf("%s",str);
if(String == END){
// End printToScreen();
state = 1;
}
}
}
当它不断打印到终端时,它会忽略我的scanf输入。如果打印到终端中断(假设等待1秒钟),我可以输入输入。我想在任何时候输入输入,即使它当前正在打印到终端。我怎样才能做到这一点?
答案 0 :(得分:-1)
您可以使用 string.h中的 gets() llibrary:
如果按 ENTER 键,则将其设为\0
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void printToScreen(){
char str[100];
int i;
while(1){
for(int i=0;i<100;i++){
scanf("%c",&str[i]);
if(str[i]=='\n') break;
}
if(!strcmp("END\n",str)) return ;
printf("Hello\n");
}
}
int main(){
printToScreen();
return 0;
}