23,121
社区成员
发帖
与我相关
我的任务
分享
#include <stdlib.h>
#include <stdio.h>
FILE *fp=NULL;
void fn1()
{
char buf[32]="atexit";
if(NULL!=fp){
fwrite(buf,sizeof(buf),1,fp);
printf("fwrite *****\n");
}
printf("calling fn2*****\n");
}
int main()
{
char *path="./file.txt";
atexit(fn1);
if(NULL==(fp=fopen(path,"w+"))){
printf("fp is null *****\n");
return 0;
}
//fclose(fp);
printf("calling main *****\n");
return 0;
}
yingc@yingc:~/gcyin/test/tmp/csdn$ ls
cond.c condtest exit.c filetest filetest.c file.txt libtestlib.a main main.cpp main.o testlib.cpp testlib.h testlib.o
yingc@yingc:~/gcyin/test/tmp/csdn$ cat file.txt
yingc@yingc:~/gcyin/test/tmp/csdn$ ls
cond.c condtest exit.c filetest filetest.c file.txt libtestlib.a main main.cpp main.o testlib.cpp testlib.h testlib.o
yingc@yingc:~/gcyin/test/tmp/csdn$ gcc -o exit exit.c
yingc@yingc:~/gcyin/test/tmp/csdn$ ll
total 1172
drwxrwxr-x 2 yingc yingc 4096 6月 25 10:44 ./
drwxrwxr-x 19 yingc yingc 4096 6月 16 16:43 ../
-rw-rw-r-- 1 yingc yingc 1215 5月 30 10:49 cond.c
-rwxrwxr-x 1 yingc yingc 7410 5月 30 10:49 condtest*
-rwxrwxr-x 1 yingc yingc 7389 6月 25 10:44 exit*
-rw-rw-r-- 1 yingc yingc 856 6月 25 10:44 exit.c
-rw-r--r-- 1 yingc yingc 12288 6月 25 10:44 .exit.c.swp
-rwxrwxr-x 1 yingc yingc 7443 5月 30 14:53 filetest*
-rw-rw-r-- 1 yingc yingc 825 5月 30 14:53 filetest.c
-rw-rw-r-- 1 yingc yingc 0 5月 30 14:49 file.txt
-rw-rw-r-- 1 yingc yingc 2706 5月 29 16:49 libtestlib.a
-rwxrwxr-x 1 yingc yingc 1117061 5月 29 17:13 main*
-rw-rw-r-- 1 yingc yingc 520 5月 28 10:49 main.cpp
-rw-rw-r-- 1 yingc yingc 2176 5月 29 17:13 main.o
-rw-rw-r-- 1 yingc yingc 586 5月 29 16:44 testlib.cpp
-rw-rw-r-- 1 yingc yingc 661 5月 29 16:44 testlib.h
-rw-rw-r-- 1 yingc yingc 2532 5月 29 16:49 testlib.o
yingc@yingc:~/gcyin/test/tmp/csdn$ ./exit
calling main *****
fwrite *****
calling fn2*****
yingc@yingc:~/gcyin/test/tmp/csdn$ cat file.txt
atexityingc@yingc:~/gcyin/test/tmp/csdn$ fg