while((count=f.read(b))!=-1)每次应该只读开头才对啊
答案:1 悬赏:60 手机版
解决时间 2021-03-31 08:45
- 提问者网友:绫月
- 2021-03-30 11:26
while((count=f.read(b))!=-1)每次应该只读开头才对啊
最佳答案
- 五星知识达人网友:底特律间谍
- 2021-03-30 12:32
您好,提问者:
你这个循环是while的,也就是数读不到-1是不会出这个循环的。
读取是从0开始的,结尾用-1来标识。一般来讲1024足够读取了。
f.read是0开始读取的,第一行的0,这行读取完毕是开始下行读取。
而遇到\r\n的时候不是-1,所以继续累加的。
1 2 3 4 5
6 7 8 9 10
上面数字表示读取到5的时候,f.read返回的是4,因为从0开始,当读取到\r\n的时候换行,继续读取,6是5,所以读取到10,再继续读取的话就是-1,循环结束。
你这个循环是while的,也就是数读不到-1是不会出这个循环的。
读取是从0开始的,结尾用-1来标识。一般来讲1024足够读取了。
f.read是0开始读取的,第一行的0,这行读取完毕是开始下行读取。
而遇到\r\n的时候不是-1,所以继续累加的。
1 2 3 4 5
6 7 8 9 10
上面数字表示读取到5的时候,f.read返回的是4,因为从0开始,当读取到\r\n的时候换行,继续读取,6是5,所以读取到10,再继续读取的话就是-1,循环结束。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯