在c中拆分字符串并将其存储到数组中

在c中拆分字符串并将其存储到数组中,c,arrays,string,struct,split,C,Arrays,String,Struct,Split,使用的部分文本文件: Maths H B2 Irish O C3 English O B1 我尝试将字符串拆分为三个数组,例如:;数学分为科目数组,H(更高级别)分为级别数组,B2分为年级数组。我这样做是为了以后可以访问,并且更容易单独排序等。下面是我试图将数组中的字符串拆分为三个,但希望将每个字符串存储在不同的数组中的代码。这是我第一次使用structs赋值,所以我对这种语法不熟悉,不知道怎么做 SubjectResult split; fo

使用的部分文本文件:

Maths       H   B2 
Irish       O   C3 
English     O   B1
我尝试将字符串拆分为三个数组,例如:;数学分为科目数组,H(更高级别)分为级别数组,B2分为年级数组。我这样做是为了以后可以访问,并且更容易单独排序等。下面是我试图将数组中的字符串拆分为三个,但希望将每个字符串存储在不同的数组中的代码。这是我第一次使用structs赋值,所以我对这种语法不熟悉,不知道怎么做

SubjectResult split;

for(i=0; i<lineNum; i++){
    sscanf(ResultsArr[i],"%s %s %s",split.subject, split.level, split.grade);
}
SubjectResult拆分;

对于(i=0;i,您需要创建一个结构数组

SubjectResult split[MAXLINES];

for (i = 0; i < lineNum; i++) {
    sscanf(ResultsArr[i],"%s %s %s", split[i].subject, split[i].level, split[i].grade);
}
SubjectResult分割[MAXLINES];
对于(i=0;i
谢谢!字符串会自动拆分为三个并存储在结构数组中吗?您的
sscanf
已经将它们拆分为三个。我添加的只是将它们全部保存在一个数组中的方法。谢谢您的帮助!