我正在制作一个使用 cgi 访问 mysql 中的表/数据库的 html 网页。我输入了一个 .csv 文件,其中包含我的课程表信息,html 将其显示在通常的日程表中。
我的问题是我似乎无法在解析 cgi 时使用 strcmp,因为它会导致服务器错误。这是我使用 strcmp 的代码的摘录。
void parse2(char *queu)
{
//---------------------------------------------------------------
char *saveptr[1024];
char *subtoken;
char *Subject;
char *Day;
char *Start;
char *End;
char *Room;
char *Teacher;
int check = 1;
//---------------------------------------------------------------
subtoken = strtok_r(queu, ",", saveptr);
check = strcmp(subtoken, "\0");
printf("%d<br>", check);
if(check == 0){
printf("Error!");
} else {
Subject = subtoken;
Day = strtok_r(NULL, ",", saveptr);
Start = strtok_r(NULL, ",", saveptr);
End = strtok_r(NULL, ",", saveptr);
Room = strtok_r(NULL, ",", saveptr);
Teacher = strtok_r(NULL, ",", saveptr);
printf("%s\n<br/>%s\n<br/>%s\n<br/>%s\n<br/>%s\n<br/>%s\n", Subject, Day, Start, End, Room, Teacher);
//inputsql(Subject, Day, Start, End, Room, Teacher);
}
//---------------------------------------------------------------
}
请注意,我已经测试了这段代码,并且无需我调用它就可以正常工作strcmp()
。
我strcmp()
用来防止在使用POST
方法检索信息后生成的一行不需要的字符被输入到我的数据库中。
从上面的代码可以看出,我曾经strtok()
解析过 info 行。由于不需要的字符行不包含逗号(这是我的分隔符),它应该返回一个 NULL 值。正确的?
谁能帮我吗?我欢迎建议使用不同的方法来解决我选择使用strcmp()
.