Читать строку за строкой из STDIN и записывать его в выходной файл - PullRequest
0 голосов
/ 29 марта 2019

Для одной части моей домашней работы мне нужно построчно брать от пользователя входные данные и распечатывать их в выходном файле, но я всегда получаю пустой файл.

Я заставил его работать в другом сценарии, когда он читает из файла и записывает результат в файл. Но в этом случае я просто не могу понять, что я делаю неправильно.

while(-1 != (nchr = getline(&buffer, &buffer_size, stdin)))
    {
        if(buffer == NULL){
            return EXIT_FAILURE;
        }

            //last line in file without \n ??
        buffer[--nchr] = '\0';

        char tmp[nchr];
        strcpy(tmp, buffer);


        if(optionI){
            convertToLow(buffer);
        }
        if(optionS){
            deblank(buffer);
        }
        if(optionO){

            //  !!!!!!!!!!!!!!!!!!!
            //  won't print in file
            //  !!!!!!!!!!!!!!!!!!!


            if (is_ok(buffer)) {

                fprintf(outfile,"%s is ok\n", tmp);
            } else {
                fprintf(outfile,"%s is not ok\n", tmp);
            }




        } else{

            if (is_ok(buffer)) {
                printf("%s is ok\n", tmp);
            } else {
                printf("%s is not ok\n", tmp);
            }
        }   
    }


    free(buffer); 


}     
fclose(outfile); 
fflush(stdout); 
fflush(stdin);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...