先要明白Fscanf的工作原理,Fscanf在遇到\n才结束,遇到\r时就会把\r替换成0。
这就有个问题,要注意自己的文本换行符是什么,在Windows下就是\r\n,在Linux,Mac下就是\n,也就是说这里有个坑。
代码在Linux和Mac下读取数据文件是正常的,在Windows下就会遇到各种行末尾有个0,网上办法用什么替换啊,用什么自定义Scan函数啊,太麻烦了,直接使用自带IDE将打开的数据文件集换行符改成LF(Linux/Mac换行符)就行了!
如下图,环境:GoLand,文件右下角LF点击就可以更换换行符