创建自己的文件数据流

程序运行时,操作系统会为它创建三条数据流:标准输入、标准输出、标准错误。有时,我们也需要创建自己的数据流。

fopen()
我们可以用fopen()函数创建新数据流,每条数据流用一个指向文件的指针来表示:

FILE *my_file = fopen("log.txt","w");

fopen的第二个参数是模式:
r:读
w:写
a:追加

fprintf()
可以用fprintf()往数据流中打印数据。

fprintf(my_file,"hello world!");

fscanf()
可以用fscanf()读取数据流的数据。

char c[80];
fscanf(my_file,"%79[^\n]\n",c);

fclose()
当用完数据流后,一定要关闭它。虽然所有的数据流在程序结束后都会自动关闭,但你仍应自己关闭它们。

fclose(my_file);

最后,我们来看一个完整的实例:

#include <stdio.h>
int main(){
        FILE *my_file = fopen("log.txt","r");
        fprintf(my_file,"hello world!");
        char c[80];
        fscanf(my_file,"%79[^\n]\n",c);
        printf("@@@:%s\n",c);
        fclose(my_file);
        return 0;
}

编译运行:

~/Desktop/MyC$ gcc test5.c -o test5
~/Desktop/MyC$ ./test5
@@@:Hello world,I love you!

小知识:
为什么FILE要大写?其实,最早FILE是用宏定义的,而宏的名字通常都要大写。

猜你喜欢

转载自blog.csdn.net/weixin_40763897/article/details/87610610