Actualmente estoy escribiendo una función de devolución de llamada en C
:¿Cuáles son las principales diferencias entre fwrite y write?
static size_t writedata(void *ptr, size_t size, size_t nmemb, void *stream){
size_t written = fwrite(ptr, size, nmemb, (FILE)*stream);
return written;
}
Esta función se va a utilizar en otra función, que hace una solicitud HTTP
, recupera la solicitud, y lo escribe en la máquina local. Esa función writedata
se usará para la parte posterior. Toda la operación tiene que ser multithreaded
, por lo que tuve dudas entre write
y fwrite
. ¿Podría alguien ayudarme a delinear las diferencias entre write()
y fwrite()
en C
, para poder elegir cuál se ajusta mejor a mi problema?
Una cosa a tener en cuenta, sin embargo, es que * probablemente * no debería acceder a una estructura FILE * (que incluye, pero no se limita a, llamar a fread/fwrite) desde múltiples subprocesos, mientras que generalmente es más seguro hacerlo con descriptores de archivos de bajo nivel ... pero todavía no es una buena idea sin alguna sincronización :) – snemarch