如何在C语言中将文本文件读入结构数组

时间:2017-11-13 14:23:22

标签: c scanf fgets

我几天来一直在努力解决这个问题。 我想读一个像这样的文本文件:

每一行都相当于一个客户。

hello;world;123456;Joe Bob;joebob@gmail.com;IB1;25
bob123;ilovec;78910;bob123@gmail.com;IB2;23

我的结构:

typdedef struct {
    char nick[50];
    char pass[50];
    int id;
    char name[50];
    char email[40];
    char class[10];
    int coins;
}Tclient;
Tclient clientList [1000];

我想将文本文件中的所有客户端保存到一组客户端。我怎样才能做到这一点 ? 请记住,我是整个编程的新手。 谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

使用strtok的示例代码:

#include<string.h>
#include <stdio.h>

// Tokenize string using strtok.
// Read man page of strtok for details on
// how to use the function.

int main(){
    char str[100];
    strcpy(str,"hello;world;123456;Joe Bob;joebob@gmail.com;IB1;25");

    char *pch;
    pch = strtok (str,";"); 
    while (pch != NULL){   
        printf ("%s\n",pch);
        pch = strtok (NULL, ";");
    }   

}