C语言写入多行内容到文件

C语言写入多行内容到文件教程

C 语言 中,我们在使用 fopen 函数打开 文件 之后,可以使用 fputc 以单个 字符 的形式写入文件,还可以使用 fputs 函数,将字符串写入文件。

同时,我们还可以使用 fwrite 函数实现一次写入多行内容到文件中。

C语言fwrite函数详解

语法

size_t fwrite(void * ptr, size_t size, size_t count, FILE *fp);

参数

参数 描述
ptr 用来存放要写入的数据。
size 表示每个数据块的字节数。
count 表示要写入的数据块的块数。
fp 文件指针。

返回值

返回成功写入的块数。

头文件

fwrite 函数在 stdio.h 的头文件里面。

技术细节

理论上,每次写入 size*count 个字节的数据。

案例

块方式写入文件

使用 fwrite 函数一次性写入多个数据块到文件中

#include <stdio.h> #include <stdlib.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); FILE *fp = NULL; if ( (fp = fopen("c:\\1.txt", "rb+")) == NULL ) { puts("Open file failed\n"); return; } else { puts("Open file success\n"); } int arr[12] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; int i = 0; fwrite(arr, 4, 12, fp); puts("Write file success\n"); fclose(fp); return 0; }

程序运行后,控制台输出如下:

16_c语言fwrite写入文件.png

我们首先,使用了 fopen 函数,打开了一个 c 盘的文件,打开成功后,我们使用打开后返回的 FILE 指针,并调用 fwrite 函数,来进行写入文件。

写入成功后,我们一定要使用 fclose 函数对文件进行关闭,最后,我们打开文件,发现,文件中已经被写入了数据,此时的数据是二进制的,因此,不能看到我们写入的数字。

块方式读写文件

使用块的方式来进行文件的读写

#include <stdio.h> #include <stdlib.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); FILE *fp = NULL; if ( (fp = fopen("c:\\1.txt", "rb+")) == NULL ) { puts("Open file failed\n"); return; } else { puts("Open file success\n"); } int arr[12] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; int ret[12]; fwrite(arr, 4, 12, fp); puts("Write file success\n"); rewind(fp); if (fread(ret, 4, 12, fp) == NULL) { puts("Read file error\n"); } else { printf("Read file success\n"); } int i = 0; for(i = 0; i < 12; i++) { printf("%d, ", ret[i]); } fclose(fp); return 0; }

程序运行后,控制台输出如下:

17_c语言fwrite读写入文件.png

我们使用 fwrite 按块的方式写入文件之后,再次使用 fread 函数实现了读取整个文件的内容。

C语言写入多行内容到文件总结

在 C 语言中,我们还可以使用 fwrite 函数实现一次写入多行内容到文件中。