当检测到字符'a'时,打破一个while循环

时间:2011-04-22 21:03:27

标签: c

我有一个文件阅读器,它逐行读取文本文件(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, ";");
            }
        }

    }

由于

马克西姆

3 个答案:

答案 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;

}