线程使用.c

来自「很好的哈达风景画 安定方法打发似的发达 安定反对发疯士大夫大 」· C语言 代码 · 共 63 行

C
63 行
字号
/*程序功能:创建两个线程,一个用于从键盘接收输入字符保存到全局变量里,
,另一个将全局变量里的字符输出到文件*/

#include <stdio.h>
#include <stdlib.h>
//使用线程编程时,下面这两个头文件必须包含 
#include <winsock.h>
#include <winbase.h>

void getInput(void); 
void output(void); 

char ch='A';
    
int main()
{
   int i; 
   //创建线程1:用于从键盘接收字符,写入到全局变量ch中    
   DWORD ThreadID1 = 1;
   HANDLE hRead1 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)getInput,NULL,0,&ThreadID1);//创建接收输入的线程
  
  //创建线程2:用于将全局变量ch写入文件 
   DWORD ThreadID2 = 2;
   HANDLE hRead2 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)output,NULL,0,&ThreadID2);//创建接收输入的线程 
  
   
   while(1){
    //死循环。本循环必须要有,否则main函数一结束,另两个线程也就结束了。 
   }
   sleep(5000);
  // KillThread(hRead1);
     
  system("PAUSE");	
  return 0;
}

void getInput(void)
{   
    int i;
    
   while(1){ 
      printf("input a char\n");      
      ch=getchar();
      fflush(stdin);
   }   
    
}

void output(void)
{
    long int i;
    FILE * cfPtr=NULL;
    
    if( (cfPtr=fopen("data.txt","w"))==NULL)
       printf("can't open file\n"); 
    else   
        while(1){
           for(i=1;i<=2222222;i++); //延迟 
           fputc(ch,cfPtr);  //写文件 
           fflush(cfPtr); 
        }    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?