C 语言文件写入函数366


C 语言提供了多种函数,用于将数据写入文本文件。本文将介绍最常用的三个函数:fprintf()、fwrite() 和 fputs()。

fprintf() 函数

fprintf() 函数将格式化的数据写入文件。它的语法如下:```c
int fprintf(FILE *stream, const char *format, ...);
```

其中:* stream:指向文件的文件指针。
* format:一个控制写入数据的格式化字符串。
* ...:可变数量的参数,根据 format 字符串进行格式化。

fprintf() 函数返回写入的文件的字符数,如果发生错误,则返回负值。

fwrite() 函数

fwrite() 函数将二进制数据块写入文件。它的语法如下:```c
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
```

其中:* ptr:指向要写入数据块的内存地址。
* size:每个元素的大小(以字节为单位)。
* count:要写入的元素数。
* stream:指向文件的文件指针。

fwrite() 函数返回实际写入的文件的元素数。如果发生错误,则返回 0。

fputs() 函数

fputs() 函数将一个字符串写入文件。它的语法如下:```c
int fputs(const char *str, FILE *stream);
```

其中:* str:要写入文件的字符串。
* stream:指向文件的文件指针。

fputs() 函数返回写入的文件的字符数,如果发生错误,则返回负值。

示例

以下代码示例演示如何使用 fprintf() 来将格式化数据写入文件:```c
#include
int main() {
FILE *fp;
int age = 30;
char name[] = "John Doe";
fp = fopen("", "w");
if (fp == NULL) {
perror("Error opening file");
return -1;
}
fprintf(fp, "Name: %sAge: %d", name, age);
fclose(fp);
return 0;
}
```

以下是使用 fwrite() 将二进制数据写入文件的示例:```c
#include
int main() {
FILE *fp;
int data[] = {1, 2, 3, 4, 5};
int size = sizeof(data) / sizeof(data[0]);
fp = fopen("", "wb");
if (fp == NULL) {
perror("Error opening file");
return -1;
}
fwrite(data, sizeof(int), size, fp);
fclose(fp);
return 0;
}
```

以下是使用 fputs() 将字符串写入文件的示例:```c
#include
int main() {
FILE *fp;
char str[] = "This is a test string.";
fp = fopen("", "w");
if (fp == NULL) {
perror("Error opening file");
return -1;
}
fputs(str, fp);
fclose(fp);
return 0;
}
```

2024-12-06


上一篇:用 C 语言按顺序输出水花数

下一篇:C语言中将12a转换为1的魔术