[问题] fread fwrite 问题

楼主: momoko0581 (桃子)   2018-07-03 00:01:58
开发平台(Platform): (Ex: Win10, Linux, ...)
win7
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
dev c++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
fread(str,sizeof(char),MAX,fptr)
想请问fread函数在读取资料时是一行一行读取吗读到\0结束会自动换行读取
Welcome to the读完(不超过MAX)在换行读World of C lauguage (此时阵列资料重新覆蓋)
还是说它会一次就把全部字符读到阵列里最后字符为\0
(全部字符(fread()回传的count数)不能超过MAX)
但程式用了while 因该至少会跑2次以上
fread()会回传count数 (会自己累加纪录到close为止吗)
喂入的资料(Input):
预期的正确结果(Expected Output):
Welcome to the
World of C language
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
MAX=80;
取其中问题的程式
while(!feof(fptr)) /* 如果还没读到档尾 */
{
bytes=fread(str,sizeof(char),MAX,fptr);
if(bytes<MAX)
str[bytes]='\0';
printf("%s\n",str); /* 印出档案内容 */
}
补充说明(Supplement):
第一次发问 可能叙述问题不够好还请包容
作者: Schottky (顺风相送)   2018-07-03 04:07:00
你跑跑看程式就知道囉!善用单步执行功能!
楼主: momoko0581 (桃子)   2018-07-03 04:18:00
有我用printf()测出来了 感谢~
作者: mmmmei (mmm煤)   2018-07-03 08:58:00
应啦干

Links booklink

Contact Us: admin [ a t ] ucptt.com