可能重复:
C,从文件读入结构
我需要阅读一个大文本文件,然后为邮件列表填充数据结构。
数据结构如下:
typedef struct mentry {
char *surname;
int house_number;
char *postcode;
char *full_address;
} MEntry;
文本文件格式为:
Bloggs, Joe
1 Street Name, City
M53 3JK
Surname, Firstname
University of Nowhere, City
G44 3GB
等等
我的数据结构构造函数:
/* me_get returns the next file entry, or NULL if end of file*/
MEntry *me_get(FILE *fd);
它返回一个指向包含邮件列表条目的 MEntry 结构的指针。
到目前为止,我只设法逐行读取文件。
#define MAXLINE 1024
int main(){
char line[MAXLINE];
FILE *fp = fopen("S.txt","r");
while(fgets(line,MAXLINE,fp))
{
printf("%s %d",line,linecount);
}
fclose(fp);
return 0;
}
我目前的主要问题是我不知道如何分割我的行以便我可以正确地填充我的数据结构。我想知道使用 fgetc 一次读取一个字符是否比读取整行然后尝试拆分它更容易?