c - 在 C 中逐行读取和处理文本文件

标签 c arrays struct

<分区>

我有一个如下所示的文本文件:

1;Einstein;Albert;3914-1948-4
2;Newton;Isaac;1941-5525-2
...

和这样的结构

typedef struct {
int Nr;
char FName[30];
char LName[30];
char ID[12];
} student;

我有一个函数,它接受一个结构类似于上面文件中的一行的字符串和一个结构,并将该行的数据保存在结构中。

现在我必须从文件中读取一行,用我的函数处理它并转到下一行。

我会在一个循环中执行此操作,从一行跳到另一行并为每一行创建一个新的变量类型 student。

但我不知道该怎么做。 fgets 只允许您阅读一行,我看不到跳转到下一行的方法。

有没有一种不太复杂的方法可以做到这一点?

最佳答案

你可以这样做:

    str char *str;
    str = fgets(fptr);
    while (str != EOF)
    {
        printf ("%s", str);
        str  = fgets(fptr);
    }

关于c - 在 C 中逐行读取和处理文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21129330/

相关文章:

c - 将文件从客户端发送到服务器

C函数返回正确结果但没有给出return语句,为什么?

php - 如何合并多个数组

ios - 对数字和字符串数组进行排序

c - 返回字符数组错误,返回值奇怪

c - 避免共享对象中的内部线程

C linux pthread需要 sleep 才能工作

javascript - 选择冠军id = 13 的数组

c - 如何在 C 中的结构数组中查找元素?

C - 通过调用 fclose() 转储核心