read和fread以及write和fwrite的差别

两组函数的差别从名字就可以看出来,主要还是实现方式的不同。
fread和fwrite是经过系统一层操作,而文件系统一般是块设备,会对数据进行缓存,然后最终会调用的read和write。read和write是基于设备的操作,无文件系统缓存,是最底层的IO。
下图展示了两组函数的区别。
read和fread以及write和fwrite的差别

由于实现方式的不同,性能和使用场合都不同。