我有一个看起来像这样的文件:
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, " ");