?
This document uses PHP Chinese website manual Release
在頭文件<stdio.h>中定義 | ||
---|---|---|
size_t fwrite(const void * buffer,size_t size,size_t count,F(xiàn)ILE * stream); | (直到C99) | |
size_t fwrite(const void * restrict buffer,size_t size,size_t count,F(xiàn)ILE * restrict stream); | (自C99以來) |
count
將給定數(shù)組中的對象寫入buffer
輸出流stream
。這些目的通過reinterepreting每個對象作為數(shù)組寫為如果unsigned char
與呼叫fputc
size
時間為每個對象寫入那些unsigned char
s轉(zhuǎn)換stream
,為了。流的文件位置指示符按寫入的字符數(shù)進行提前。
緩沖 | - | 指向數(shù)組中要寫入的第一個對象的指針 |
---|---|---|
尺寸 | - | 每個對象的大小 |
計數(shù) | - | 要寫入的對象的數(shù)量 |
流 | - | 指向輸出流的指針 |
成功寫入的對象數(shù)量可能少于count
發(fā)生錯誤時的數(shù)量。
如果size
或者count
為零,則fwrite
返回零且不執(zhí)行其他操作。
#include <stdio.h>#include <stdlib.h>#include <assert.h>enum { SIZE = 5 };int main(void){ double a[SIZE] = {1, 2, 3, 4, 5}; FILE *f1 = fopen("file.bin", "wb"); assert(f1); int r1 = fwrite(a, sizeof a[0], SIZE, f1); printf("wrote %d elements out of %d requested\n", r1, SIZE); fclose(f1); double b[SIZE]; FILE *f2 = fopen("file.bin", "rb"); int r2 = fread(b, sizeof b[0], SIZE, f2); fclose(f2); printf("read back: "); for(int i = 0; i < r2; i++) printf("%f ", b[i]);}
輸出:
wrote 5 elements out of 5 requested read back: 1.000000 2.000000 3.000000 4.000000 5.000000
C11標準(ISO / IEC 9899:2011):
7.21.8.2 fwrite函數(shù)(p:335-336)
C99標準(ISO / IEC 9899:1999):
7.19.8.2 fwrite函數(shù)(p:301-302)
C89 / C90標準(ISO / IEC 9899:1990):
4.9.8.2 fwrite函數(shù)
printfprintfsprintfsnprintfprintf_sfprintf_ssprintf_ssnprintf_s(C99)(C11)(C11)(C11)(C11) | 打印格式化輸出到標準輸出,文件流或緩沖區(qū)(功能) |
---|---|
的fputs | 將字符串寫入文件流(函數(shù)) |
FREAD | 從文件讀?。üδ埽?/p> |