开发平台(Platform): (Ex: Win10, Linux, ...)
Win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
code: blocks
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
在练习档案的读写时 读取档案读不到下一行
喂入的资料(Input):
无
预期的正确结果(Expected Output):
fscanf = 1
line = 26.000000,-74.000000,James
fscanf = 1
line = 26.500000,-73.000000,James
fscanf = 1
line = 27.000000,-72.000000,James
fscanf = 1
line = 27.500000,-71.000000,James
fscanf = 1
line = 28.000000,-70.000000,James
错误结果(Wrong Output):
fscanf = 1
line = 26.000000,-74.000000,James
fscanf = 0
line = 26.000000,-74.000000,James
fscanf = 0
line = 26.000000,-74.000000,James
fscanf = 0
line = 26.000000,-74.000000,James
fscanf = 0
line = 26.000000,-74.000000,James
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
http://codepad.org/f2JGKJsS
补充说明(Supplement):
无
作者:
ddavid (谎言接线生)
2021-01-18 11:10:00虽然写起来可能比较反而复杂,但我比较喜欢fgets一行进来后再对那行字串做处理的方式,只要写成function模组化其实用起来还是方便且出错容易知道问题例如将原本的code改成先 str_line = fgets(...);然后才用sscanf(str_line, "...", ...);不过fgets读取有上限长度,这方面还要确认一下使用例会不会容易莫名其妙发生过长列需要额外处理