
- 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 程式設計資源
- 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
廣告