我正在学习线程并尝试实现创建线程的代码。线程写入文件。如果线程已经创建它returns 0
。这里的代码,returns 0
但它确实进入了函数write()
,但没有写入文件。只是为了检查它是否进入了我已经写了一个printf()
语句的函数。我希望输入应该通过命令行来获取,但它也不起作用,所以为了简单起见,我只在文件中写入了“hello world”。
这是代码:-
#include<stdio.h>
#include<stdlib.h>
#include<pthread.h>
void *write(void *arg)
{
printf("HI \n");
FILE *fp;
fp = fopen("file.txt", "a");
if (fp == NULL) {
printf("error\n");
} else {
fprintf(fp, "hello world");
}
}
int main()
{
pthread_t thread;
int tid;
tid = pthread_create(&thread, NULL, write, NULL);
printf("thread1 return %d \n", tid);
exit(0);
}