我有一个文件阅读器,它逐行读取文本文件(csv)...方法工作正常..我为每个';'使用字符串标记器character ...当一行以字符'a'开头时,我需要打破第一个while循环....我怎么能这样做?
while(fgets(buffer, 1024, file) != NULL)
{
if (cnt>0) {
char *ch;
ch = strtok(buffer, ";");
while (ch != NULL) {
printf("%s\n", ch);
ch = strtok(NULL, ";");
}
}
}
由于
马克西姆
答案 0 :(得分:3)
试试这个:
if(buffer[0] == 'a') break;
答案 1 :(得分:0)
while(fgets(buffer, 1024, file) != NULL && buffer[0] != 'a')
答案 2 :(得分:0)
我不确定这是否是你要求的,如果你想要两个while循环都这样做
while(fgets(buffer, 1024, file) != NULL)
{
bool okToExit = false;
if (cnt>0) {
char *ch;
ch = strtok(buffer, ";");
while (ch != NULL) {
printf("%s\n", ch);
ch = strtok(NULL, ";");
if(buffer[0] == 'a'){
okToExit = true;
break;
}
}
}
if(okToExit) break;
}