Как напечатать второе слово каждой строки в текстовом файле? - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть текстовый файл, и строки текста разделены на три строки.Как я могу напечатать только второе слово?

Я пытался напечатать после пробела (""), но не работает так, как нужно.

Следующий код печатает первоеслово каждой строки:

void leerEmpleados(){
    FILE *fp;
    struct empleados{
        char codigo[6];
        char nombre[20];
        char apellido[20];
        char departamento[20];
    };

    struct empleados emp;

    fp = fopen("Empleado.txt", "r");
    if (fp == NULL) {
        printf("El archivo no existe");
    } else {
        //Lee los códigos
        while (!feof(fp)) {
            fscanf(fp,"%s%*[^\n]",emp.codigo);
            printf("%s\n",emp.codigo);
        }

    }
    fclose(fp);
}

Данные файла могут содержать что-то вроде этого: 102 John Musician '\ n' 103 Paul Musician '\ n' 104 Ringo Musician

1 Ответ

0 голосов
/ 09 апреля 2019

Измените строку формата на " %*s%s%*[^\n]". %*s читает первое слово в строке и отбрасывает его, затем %s читает второе слово.

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