• Giga@hdv-tech.com
  • Servicio en línea 24 horas:
    • 7189078c
    • sns03
    • 6660e33e
    • youtube 拷贝
    • instagram

    C, lectura y escritura de documentos

    Hora de publicación: 11-ago-2023

    Describe cómo el programador de C crea, abre y cierra un archivo de texto o un archivo binario.

    Un archivo, significa una serie de bytes, ya sea un archivo de texto o un archivo binario, C Language, no solo brinda acceso a las funciones de nivel superior, sino que también brinda la llamada subyacente (SO) para procesar archivos en el dispositivo de almacenamiento .Este capítulo explicará las llamadas importantes en la gestión de documentos.

    abrir documento

    Usualmente usando la función fopen() para crear un nuevo archivo o abrir un archivo existente, esta llamada inicializa un objeto del tipo ARCHIVO que contiene toda la información necesaria para controlar el flujo.Aquí está el prototipo de esta llamada de función:

    ARCHIVO *fopen (const char * nombre de archivo, const char * modo);

    Aquí filename es una cadena para nombrar un archivo, el valor del modo de acceso puede ser uno de los siguientes valores:

    patrón

    descripción

    r

    Abra un archivo de texto existente que permita su lectura.

    w

    Abra un archivo de texto que permita escribir en el archivo.Si el archivo no existe, se crea un nuevo archivo.Aquí, su programa escribe el contenido desde el principio del archivo.Si el archivo existe, se truncará a cero y se volverá a escribir.

    a

    Abra un archivo de texto y escriba en el archivo en un modo de adición.Si el archivo no existe, se crea un nuevo archivo.Aquí, su programa agrega contenido a los archivos que ya tiene.

    r+

    Abra un archivo de texto que le permita leer y escribir el archivo.

    w+

    Abra un archivo de texto que le permita leer y escribir el archivo.Si el archivo ya existe, el archivo se trunca a la longitud cero, y si el archivo no existe, se crea un nuevo archivo.

    a+

    Abra un archivo de texto que le permita leer y escribir el archivo.Si el archivo no existe, se crea un nuevo archivo.La lectura comienza al principio del archivo y la escritura solo se realiza en el modo de adición.

    Si se procesa un archivo binario, use el siguiente modo de acceso para reemplazar el anterior:

    "rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"

    expediente cerrado

    Para cerrar el archivo, utilice la función fclose().El prototipo de la función es el siguiente:

    int fclose (ARCHIVO *fp);

    • Si el archivo se cierra con éxito, la función fclose() devuelve cero, y si el error devuelve EOF.Esta función, de hecho, elimina los datos del búfer, cierra el archivo y libera toda la memoria utilizada para ese archivo.EOF es una constante definida en el archivo de encabezado stdio.h

    La biblioteca estándar de C proporciona varias funciones para leer y escribir archivos por caracteres o como una cadena de longitud fija.

    Escribir en el archivo

    Estas son las funciones más simples para escribir caracteres en la transmisión:

    int fputc (int c, ARCHIVO *fp);

    La función fputc () escribe el valor del carácter del parámetro c en el flujo de salida al que apunta fp.Si las escrituras son exitosas, devuelve el carácter escrito y el EOF si ocurre un error.Puede usar la siguiente función para escribir una cadena que termine con un valor nulo en la secuencia:

    int fputs (const char *s, ARCHIVO *fp);

    La función fputs () escribe la cadena s en el flujo de salida donde apunta fp.Si las escrituras tienen éxito, devuelve un valor no negativo y el EOF si se produce un error.También puede usar la función de int fprintf (ARCHIVO * fp, const char * formato,...) escribe una cadena en el archivo.Pruebe el siguiente ejemplo:

    Nota: asegúrese de tener un directorio tmp disponible y, si no existe, primero debe crearlo en su computadora.

    /tmp suele ser un directorio temporal en el sistema Linux.Si ejecuta en el sistema Windows, debe modificarlo a un directorio existente en el entorno local, como: C: \ tmp, D: \ tmp, etc.

    ejemplo vivo

    #incluirint principal () { ARCHIVO *fp = NULL ;fp = fopen ("/tmp/prueba.txt", "w+");fprintf (fp , "Esto está probando fprintf...\n ");fputs ("Esto es una prueba de fputs...\n ", fp );fcerrar (fp);}

    Cuando el código anterior se compila y ejecuta, crea un nuevo archivo test.txt en el directorio / tmp.Y escribe en dos líneas usando dos funciones diferentes.Leamos este archivo a continuación.

    Leer el archivo

    La siguiente es la función más simple para leer un solo carácter de un archivo:

    int fgetc (ARCHIVO * fp);

    La función fgetc () lee un carácter del archivo de entrada al que apunta fp.El valor de retorno es el carácter leído y el EOF si ocurre un error.La siguiente función le permite leer una cadena de una secuencia:

    char *fgets ( char *buf , int n , ARCHIVO *fp );

    La función fgets() lee n-1 caracteres del flujo de entrada dirigido por fp.Copia la cadena de lectura en el buffer buf y agrega un carácter nulo al final para terminar la cadena.

    Si esta función encuentra un carácter de línea discontinua '\ n' o el EOF del final del archivo antes de leer el último carácter, solo regresa a los caracteres leídos, incluidos los saltos de línea.También puede usar la función int fscanf (FILE * fp, const char * format,...) para leer la cadena del archivo, pero deja de leer cuando encuentra el primer espacio y el primer salto de línea.

    ejemplo vivo

    #incluirint principal () { ARCHIVO *fp = NULL ;beneficio de carbón [255];fp = fopen ("/tmp/test.txt", "r");fscanf (fp, "%s", buff);printf ("1: %s \n ", potenciador);fgets (buff, 255, (ARCHIVO *)fp);printf ("2: %s \n ", potenciador);fgets (buff, 255, (ARCHIVO *)fp);printf ("3: %s \n ", potenciador);fcerrar (fp);}

    Cuando el código anterior se compila y ejecuta, lee los archivos creados en la sección anterior, produciendo los siguientes resultados:

    1: Este 2: está probando fprintf...

    3: Esto es una prueba de fputs...

    Primero, el método de fscanf() solo lee Esto porque encuentra un espacio en la parte posterior.Segundo, llame a la función fgets () para leer la parte restante hasta el final de la línea.Finalmente, llame a fgets () para leer la segunda fila por completo.

    Función de E/S binaria

    Las siguientes dos funciones se utilizan para la entrada y salida binaria:

    size_t fread (void *ptr , size_t size_of_elements , size_t number_of_elements , FILE *a_file );size_t fwrite (const void *ptr , size_t size_of_elements , size_t number_of_elements , FILE *a_file );

    Ambas funciones son de lectura y escritura para bloques de almacenamiento, generalmente arreglos o estructuras.

    Arriba, la lectura y escritura de archivos C pertenece a HDV Phoelectron Technology Ltd., una operación técnica de software.Y la empresa de equipos relacionados con la red (como: ACONU/ comunicaciónONU/ inteligenteONU/ fibraONU, etc.) ha reunido a un poderoso equipo de software, para que cada cliente personalice las demandas exclusivas que lo necesitan, también permita que nuestros productos sean más inteligentes y avanzados.



    web