【发布时间】:2017-01-13 17:04:49
【问题描述】:
我试图从程序访问的文件的同一行中扫描(可能使用 fgets)6 个不同的字符串。我使用以下结构来保存 6 个不同的字符串:
struct _entry {
char subject[10];
char prof_name[10];
char prof_surname[10];
int period;
int credits;
int pass_rate;
};
struct _entry entry[MAX_LINES];
如果有人可以帮助我从文件中扫描 1 行,我可以将 3 个字符串和 3 个数字分配给每个结构值。
【问题讨论】:
-
使用
fgets()读取一行,使用sscanf()或strtok()将其解析为单独的字段。 -
您之前使用过
scanf?只需使用它来读取具有一个格式字符串的所有字符串和数字。 -
@Someprogrammerdude Don't use
scanf! -
@AryamanArora 我不是告诉 OP 使用
scanf来读取一行,而是使用多种格式代码实际扫描和标记所需的不同输入部分。 -
@AryamanArora 为工作使用正确的工具。
scanf()(有宽度限制)在少数情况下是最好的工具,fgets()在大多数情况下更好,尤其是对于那些从 C 开始的人。
标签: c struct file-access