作者godman362 (Shizuru)
看板C_and_CPP
标题[问题] fread & read
时间Mon Mar 2 19:37:21 2009
想请教fread和read之间的差异是什麽
因为在Linux Device Driver上第三章看到一句话:
应用程式使用标准I/O函式库(例如fread())来读取scull装置
其实不会发现scull_read的量化传输行为
在read中,他有对每次read的量作一个限定(4000bytes)
那也就是说,当一次的读取量超过4000bytes,就需要分两次读取
也就是read()函数要呼叫两次
那他所谓fread()不会发现
量化传输行为的意思是指什麽
因为在fread()中,不也是要指定传size大小的资料n次吗
还请各位先进指点一番,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.74.245.163
1F:推 LPH66:差别在於fread必然会传那麽多回来 而read是最多传那麽多回来 03/02 21:53
2F:→ LPH66:也就是如果scull一次推600个byte的话 fread就会等到它推7次 03/02 21:54
3F:→ LPH66:之後累积了4000byte (如果你是指定4000的话) 再回传 03/02 21:54
4F:→ LPH66:而read则是现在有600就传600回来这样 03/02 21:55
5F:→ godman362:喔,原来如此,谢谢L大的解说 03/02 21:57