![](/img/trans.png)
[英]how to write an integer to a file (the difference between fprintf and 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.