【发布时间】:2009-12-25 09:40:24
【问题描述】:
我正在用 fgetc 读取一个文件,所以每次读取一个字符时,光标位置都会改变。
是否有可能在每次读取后,根据列号和行号知道光标在文件上的“坐标”?
谢谢
【问题讨论】:
我正在用 fgetc 读取一个文件,所以每次读取一个字符时,光标位置都会改变。
是否有可能在每次读取后,根据列号和行号知道光标在文件上的“坐标”?
谢谢
【问题讨论】:
您可以使用ftell
它不会为您提供行和列的位置,而是从一开始就给出流中的当前位置。
【讨论】:
文件中没有“坐标”,只有位置。文本文件只是一个字节流,行由换行符分隔。因此,在读取文本文件时,如果您扫描整个文件,您可以计算您的“坐标”。这意味着,如果您确实需要一些“行”和“列”值:
另一种方法是
ftell)。但最重要的是接受文件中没有行或列——文件中有位置,但文件本身只是一个字节流。这也意味着您需要以不同的方式处理使用宽字符集编码的文件,因为字符不再映射到字节。
【讨论】: