我从文件中读取数据有一点问题。
我需要阅读姓名,姓氏和电话号码。
但是数据之间用“ |”分隔。
文件例如
Matthew | McConaughey | 684299275
Humphrey | Bogart | 204050673
Mary | Tyler Moore | 503462885
Loretta | Young | 416211713
我写了这个函数
char name[20];
char lastname[40];
int number;
while(!feof(plik)){
int hpl=fscanf(filename, "%s | %s | %d", name, lastname, &number);
}
当文件中有两个成员的姓氏(例如“ Tyler Moore”)时,我遇到问题,然后fscanf返回2
我不知道如何阅读它们
可以使用一个fscanf()函数吗?
答案 0 :(得分:0)
这是因为scanf
系列功能读取到空格为止。您可以使用fgets获取整行,然后使用如下所示的函数multi_tok函数对其进行解析:https://stackoverflow.com/a/29789623/8842262