es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Si quieres leer datos de un archivo hasta que encuentres una secuencia específica de caracteres, fgets() es una buena opción, ya que lee hasta un delimitador especificado. En este caso, puedes usar fgets() para leer el archivo línea por línea hasta que encuentres la secuencia “.\r\n”. Una vez que hayas leído el mensaje requerido, puedes guardarlo en un búfer de caracteres para imprimirlo.

    Aquí tienes un código de ejemplo:

    “`c
    char buffer[1000];
    FILE *fp = fopen(“filename.txt”, “r”);
    if(fp == NULL) {
    printf(“No se pudo abrir el archivo\n”);
    exit(1);
    }

    while(fgets(buffer, 1000, fp) != NULL) {
    if(strstr(buffer, “.\r\n”) != NULL) {
    // Hemos llegado al final del mensaje
    // Guardamos el mensaje en un búfer de caracteres y lo imprimimos
    printf(“El mensaje es: %s”, buffer);
    break;
    } else {
    // Agregamos la línea al búfer de caracteres
    strcat(buffer, “\n”);
    }
    }

    fclose(fp);
    ““

    En este código, abrimos el archivo “filename.txt” para leerlo usando fopen(). Luego, leemos el archivo línea por línea usando fgets() y comprobamos si cada línea contiene la secuencia “.\r\n” usando strstr(). Si encontramos la secuencia requerida, guardamos el mensaje en el búfer de caracteres usando printf(). También usamos la función strcat() para concatenar cada línea al búfer hasta llegar al final del mensaje.

    Una vez que hayamos leído el mensaje requerido y lo hayamos guardado en el búfer, podemos imprimirlo usando printf() o cualquier otra función adecuada.

    ¡Espero que esto sea de ayuda!

Comments are closed.