fwrite函數是C語言標準庫中的一個文件操作函數,用于將數據從內存寫入到文件中。
fwrite函數的原型如下:
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
函數參數說明:
ptr
:指向待寫入數據的指針。
size
:每個數據項的大小,以字節為單位。
count
:待寫入數據項的個數。
stream
:指向目標文件的文件指針。
函數返回值:實際寫入的數據項個數。
下面是使用fwrite函數的示例:
#include <stdio.h>
int main() {
// 打開文件
FILE *file = fopen("data.txt", "wb");
if (file == NULL) {
printf("無法打開文件\n");
return 1;
}
// 待寫入數據
int data[] = {10, 20, 30, 40, 50};
int size = sizeof(int);
int count = sizeof(data) / size;
// 寫入數據
size_t written = fwrite(data, size, count, file);
if (written != count) {
printf("寫入數據失敗\n");
return 1;
}
// 關閉文件
fclose(file);
return 0;
}
在上述示例中,我們首先使用fopen
函數打開文件,然后定義一個整數數組data
作為待寫入的數據。接下來,我們使用fwrite
函數將數組data
中的數據寫入到文件中。最后,使用fclose
函數關閉文件。
需要注意的是,使用fwrite
函數寫入數據時,寫入的數據項個數應當與實際待寫入的數據項個數相等,否則可能會導致數據寫入不完整。另外,打開文件時需要指定正確的文件打開模式(例如,以二進制模式打開文件)。