fwrite和write的主要区别是什么?

我目前正在C中编写一个回调函数:

静态大小写入数据(void*ptr、size\t size、size\t nmemb、void*stream){
写入的大小=写入(ptr,大小,nmemb,(文件)*流);
书面回报;
}

此函数将在另一个函数中使用,该函数执行HTTP请求,检索请求并将其写入本地计算机。该writedata功能将用于后面的部分。整个操作必须是多线程的,因此我在写入写入之间存在疑问。有人能帮我概括一下Cwrite()fwrite()之间的区别,这样我就可以选择最适合我的问题的方法了

fwrite写入文件*,即(可能)缓冲stdio流。它是由ISO C标准规定的。此外,在POSIX系统上,fwrite在一定程度上是线程安全的

write是基于POSIX标准中描述的文件描述符的低级API。它不知道缓冲。如果要在文件*上使用它,请使用fileno获取其文件描述符,但在尝试写入之前,请确保手动锁定并刷新流

使用fwrite,除非你知道自己在做什么

发表评论