关于*osFile.Read() 读取的问题

zhangsheng1992 · · 950 次点击
如果你把`buf := make([]byte, 10)` 替换为 `buf := make([]byte, 11)` 类似如上逻辑, 空_代替换行符 ``` 1_2_3_4_5_6 1_2_3_4_5_6 _72_3_4_5_6 ``` 则会出现 ``` 1 2 3 4 5 6 72 3 4 5 6 ```
#6
更多评论
没有再读一遍,只是上次读完残留的。第一次读五个数12345,下次还是这个buf,但是只读了两个数6和7,把buf里面的1和2给替换掉了,所以会出现67345。
#1
``` func main() { readFile, err := os.Open("a.txt") for { buf := make([]byte, 12) n, _ := readFile.Read(buf) if n == 0 { break } fmt.Println(string(buf), "读取子节:", n) } } 这样应该是满足你要求的。 ```
#2