我正在用fgetc读取一个文件,所以每次读取一个字符时,光标位置都会被更改。
每次读取后,是否可以在列和行号方面知道光标在文件上的“坐标”?
由于
答案 0 :(得分:7)
您可以使用ftell
它不会在行和列方面给出位置,而是从一开始就给出流中的当前位置。
答案 1 :(得分:5)
文件中没有“坐标”,只有一个位置。文本文件只是一个字节流,行由换行符分隔。因此,在读取文本文件时,如果扫描整个文件,则可以计算“坐标”。这意味着,如果你真的需要一些“行”和“列”值:
另一种方法是
ftell
)。但最重要的是接受文件中没有行或列 - 文件中有一个位置,但文件本身只是一个字节流。这也意味着您需要以不同方式处理用宽字符集编码的文件,因为字符不再映射到字节。