Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
C 中的一个练习告诉我从一个文件 txt 中读取信息,其中的行数是先验未知的。例如我有一个这样的文件:
name surname tel name1 surname2 tel2
我很难以fscanf()这种方式使用此功能
fscanf()
FILE *fp ... while(fscanf(fp, "%s%s%s\n", name, surname, tel) != EOF) { //function }
这是正确的方法吗?
H2CO3 是对 fscanf 返回匹配的字段数。
真正的问题通常是您不知道文件中有多少行,因此您不知道要为数据分配多大的结构或数组。一种解决方案是使用可以增长的 std:vector。
代码读取文件两次的频率令人惊讶。一次计算行数,分配存储空间,然后再次读取数据。这可能是一个理智的解决方案。