簡體   English   中英

write和fwrite的區別不一樣

[英]Difference between write and fwrite not the same results

如果我有一段代碼寫出這樣的文本: write(1, buf, bytes); 為什么不能用於寫入文件fwrite(1, buf, bytes,f1);

其中f1聲明為FILE *f1; f1=fopen("Test.txt", "wb"); 我正在看的教程表明它應該工作。 我是C#編碼器而不是C編碼器,我希望得到一些幫助。

fwrite的簽名是:

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

寫的簽名是:

write(int fd, const void *buf, size_t count);

如果您匹配示例,則會看到該參數不匹配。

write應該是size*count fwrite (它允許您指定要寫入的每個元素的大小)。 另外,write有一個硬編碼為1的文件描述符,你用fopen獲得的FILE*替換,你怎么知道1指的是那個文件?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM