sal*_*lex 1 c csv parsing strtok
我希望有人帮助我解决我的问题:
代码:
void getStructValues(FILE* fp, studente stud[]) {
char buffer[1024];
int row = 0, col = 0, i = 0;
while(fgets(buffer, 1024, fp)) {
col = 0;
row++;
char* value = strtok(buffer, ",");
while(value) {
switch(col) {
case 0:
printf("First Column: %s\n", value);
strcpy(stud[i].last_name, value);
break;
case 1:
printf("Second Column: %s\n", value);
strcpy(stud[i].name, value);
break;
case 2:
printf("Third Column: %s\n", value);
//strcpy(stud[i].gender, value);
break;
case 3:
printf("Fourth Column: %s\n", value);
//strcpy(stud[i].province, value);
break;
case 4:
printf("Fifth Column: %s\n", value);
//value = atoi(value);
//stud[i].n_exam = value;
break;
case 5:
printf("Sixth Column: %s\n", value);
value = atoi(value);
stud[i].average = (int) value;
break;
}
value = strtok(NULL, ", ");
col++;
}
i++;
}
}
Run Code Online (Sandbox Code Playgroud)
CSV 文件:
BARLET,ELISABET GIOVA,F,NO,14,18
Run Code Online (Sandbox Code Playgroud)
预期输出:
First Column: BARLET
Second Column: ELISABT GIOVA
Third Column: F
Foruth Column: NO
Fifth Column: 14
Sixth COlumn: 18
Run Code Online (Sandbox Code Playgroud)
Mty 输出:
First Column: BARLET
Second Column: ELISABT
Third Column: GIOVA
Foruth Column: F
Fifth Column: NO
Sixth COlumn: 14
Run Code Online (Sandbox Code Playgroud)
当它采用名称并将其分成两部分(创建该列)(尝试仅使用“,”作为分隔符,结果相同)时,问题似乎存在,有人知道如何帮助我吗?
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |