如何将文件中的字符串拆分为C中的较小字符串?

时间:2018-06-08 11:47:00

标签: c string split

我有一个看起来像这样的文件:

text1, number, text2, text3,
text1, number, text2, text3,
...

我想将所有这些内容放入struct array中:

struct myStruct {
    char string1[50];
    int dec;
    char string2[50];
    char string3[50];
}

我知道我可以使用fgets()从文件中获取行,但我无法将其拆分为较小的行。 我无法找到解决问题的任何可理解的解决方案,所以我写了自己的问题。我尝试使用strtok()但是我失败了。请尽可能简单地写,因为我是初学编码。

@Edit:

这是我的strtok()尝试:

token = strtok(line, " ");
if(token) {
    token[strlen(token)-1] = '\0';
    strcpy(tab[counter].name, token); /* String is stored how I want it (without a comma) */
}
token = strtok(NULL, " ");

token = strtok(line, " ");
if(token) {
    token[strlen(token)-1] = '\0'; /* And here it cuts last char from previous string */
    strcpy(year_tmp, token);
    year = atoi(year_tmp);
    tab[counter].year = year; /* And nothing is stored here because it isn't even what I want */
}
token = strtok(NULL, " ");

0 个答案:

没有答案