如何从txt文件读取数据>

时间:2019-09-02 09:23:11

标签: c

我从文件中读取数据有一点问题。 我需要阅读姓名,姓氏和电话号码。
但是数据之间用“ |”分隔。

文件例如

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()函数吗?

1 个答案:

答案 0 :(得分:0)

这是因为scanf系列功能读取到空格为止。您可以使用fgets获取整行,然后使用如下所示的函数multi_tok函数对其进行解析:https://stackoverflow.com/a/29789623/8842262