- C 标准库
- C 库 - 首页
- C 库 - <assert.h>
- C 库 - <complex.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <fenv.h>
- C 库 - <float.h>
- C 库 - <inttypes.h>
- C 库 - <iso646.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdalign.h>
- C 库 - <stdarg.h>
- C 库 - <stdbool.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <tgmath.h>
- C 库 - <time.h>
- C 库 - <wctype.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用资源
- C 库 - 讨论
C 库 - fwrite() 函数
C 库的 fwrite() 函数将数据从 `ptr` 指向的数组写入给定的流。
语法
以下是 C 库 fwrite() 函数的语法:
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
参数
此函数接受以下参数:
-
const void *ptr: 指向要写入的元素数组的指针。
- size_t size: 要写入的每个元素的字节大小。
-
size_t nmemb: 元素数量,每个元素的大小为 `size` 字节。
-
FILE *stream: 指向 FILE 对象的指针,该对象标识将写入数据的流。
返回值
fwrite() 函数返回成功写入的元素总数。如果此数字小于 nmemb,则表示发生了错误或已到达文件末尾。
示例 1
将整数数组写入二进制文件
此示例将整数数组写入名为 example1.bin 的二进制文件。输出确认所有 5 个元素都已成功写入文件。
#include <stdio.h> int main() { FILE *fp; int arr[] = {1, 2, 3, 4, 5}; size_t n = sizeof(arr) / sizeof(arr[0]); fp = fopen("example1.bin", "wb"); if (fp == NULL) { perror("Error opening file"); return 1; } size_t written = fwrite(arr, sizeof(int), n, fp); printf("Number of elements written: %zu\n", written); fclose(fp); return 0; }
输出
以上代码产生以下结果:
Number of elements written: 5
示例 2
将字符串写入文本文件
此示例将字符串写入名为 example3.txt 的文本文件。输出表明 13 个字符(包括感叹号)已成功写入文件。
#include <stdio.h> #include <string.h> int main() { FILE *fp; const char *str = "Hello, World!"; fp = fopen("example3.txt", "w"); if (fp == NULL) { perror("Error opening file"); return 1; } size_t written = fwrite(str, sizeof(char), strlen(str), fp); printf("Number of elements written: %zu\n", written); fclose(fp); return 0; }
输出
执行上述代码后,我们得到以下结果:
Number of elements written: 13
广告