прервите цикл, когда обнаружите символ «а» - PullRequest
0 голосов
/ 23 апреля 2011

У меня есть программа для чтения файлов, она читает текстовые файлы (csv) построчно ... метод работает нормально ... Я использую строковый токенизатор для каждого ';'символ ... Мне нужно разорвать первый цикл while, когда строка начинается с символа 'a' .... Как я могу это сделать ??

   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 ]

3 голосов
/ 23 апреля 2011

Попробуйте это:

if(buffer[0] == 'a') break;
0 голосов
/ 23 апреля 2011

Я не уверен, что это то, о чем вы спрашиваете, хотите ли вы из обоих циклов делать это

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;

}
0 голосов
/ 23 апреля 2011
while(fgets(buffer, 1024, file) != NULL && buffer[0] != 'a')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...