C語言fwrite函數(shù)怎么使用

小億
152
2023-08-03 10:30:26
欄目: 編程語言

fwrite函數(shù)是C語言標(biāo)準(zhǔn)庫中的一個(gè)文件操作函數(shù),用于將數(shù)據(jù)從內(nèi)存寫入到文件中。

fwrite函數(shù)的原型如下:

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

函數(shù)參數(shù)說明:

  • ptr:指向待寫入數(shù)據(jù)的指針。

  • size:每個(gè)數(shù)據(jù)項(xiàng)的大小,以字節(jié)為單位。

  • count:待寫入數(shù)據(jù)項(xiàng)的個(gè)數(shù)。

  • stream:指向目標(biāo)文件的文件指針。

函數(shù)返回值:實(shí)際寫入的數(shù)據(jù)項(xiàng)個(gè)數(shù)。

下面是使用fwrite函數(shù)的示例:

#include <stdio.h>
int main() {
// 打開文件
FILE *file = fopen("data.txt", "wb");
if (file == NULL) {
printf("無法打開文件\n");
return 1;
}
// 待寫入數(shù)據(jù)
int data[] = {10, 20, 30, 40, 50};
int size = sizeof(int);
int count = sizeof(data) / size;
// 寫入數(shù)據(jù)
size_t written = fwrite(data, size, count, file);
if (written != count) {
printf("寫入數(shù)據(jù)失敗\n");
return 1;
}
// 關(guān)閉文件
fclose(file);
return 0;
}

在上述示例中,我們首先使用fopen函數(shù)打開文件,然后定義一個(gè)整數(shù)數(shù)組data作為待寫入的數(shù)據(jù)。接下來,我們使用fwrite函數(shù)將數(shù)組data中的數(shù)據(jù)寫入到文件中。最后,使用fclose函數(shù)關(guān)閉文件。

需要注意的是,使用fwrite函數(shù)寫入數(shù)據(jù)時(shí),寫入的數(shù)據(jù)項(xiàng)個(gè)數(shù)應(yīng)當(dāng)與實(shí)際待寫入的數(shù)據(jù)項(xiàng)個(gè)數(shù)相等,否則可能會(huì)導(dǎo)致數(shù)據(jù)寫入不完整。另外,打開文件時(shí)需要指定正確的文件打開模式(例如,以二進(jìn)制模式打開文件)。

0