Red de conocimiento informático - Material del sitio web - Al programar en Linux, ¿cómo determinar si un archivo se abre en modo lectura, escritura o lectura-escritura? Buscando código de implementación del lenguaje c

Al programar en Linux, ¿cómo determinar si un archivo se abre en modo lectura, escritura o lectura-escritura? Buscando código de implementación del lenguaje c

Ahora que has obtenido este puntero de archivo, puedes abrirlo como quieras sin saber en qué modo estaba antes.

Utiliza open para actualizar el método de apertura que desees.

O_RDONLY abre el archivo para solo lectura

O_WRONLY abre el archivo para solo escritura

O_RDWR abre el archivo para lectura y escritura. Los tres indicadores anteriores son mutuamente excluyentes, es decir, no se pueden usar al mismo tiempo, pero se pueden combinar con los siguientes indicadores usando el operador OR (|).

O_CREAT Si el archivo a abrir no existe, el archivo se creará automáticamente.

O_EXCL Si también se establece O_CREAT, este comando comprobará si el archivo existe. Si el archivo no existe, créelo; de lo contrario, se producirá un error al abrir el archivo. Además, si O_CREAT y O_EXCL se configuran al mismo tiempo y el archivo que se va a abrir es un enlace simbólico, la apertura del archivo fallará.

O_NOCTTY Si el archivo a abrir es un dispositivo terminal, el terminal no será considerado como un terminal de control de procesos.

O_TRUNC Si el archivo existe y se abre en modo de escritura, este indicador borrará la longitud del archivo a 0 y los datos originalmente almacenados en el archivo desaparecerán.

O_APPEND Al leer y escribir un archivo, se moverá desde el final del archivo, es decir, los datos escritos se agregarán al final del archivo.

O_NONBLOCK abre el archivo de forma imbloqueable, es decir, volverá al proceso inmediatamente sin importar si hay datos leyendo o en espera.

O_NDELAY es lo mismo que O_NONBLOCK.

O_SYNC abre el archivo de forma sincrónica.

O_NOFOLLOW Si el archivo al que apunta el parámetro nombre de ruta es un enlace simbólico, no podrá abrir el archivo.

O_DIRECTORY Si el archivo al que apunta el parámetro nombre de ruta no es un directorio, la apertura del archivo fallará.

Esto es lo que quieres

r Abre un archivo de solo lectura, el archivo debe existir.

r+ abre un archivo que se puede leer y escribir. El archivo debe existir.

w abre un archivo de solo escritura. Si el archivo existe, la longitud del archivo se borra a 0, es decir, el contenido del archivo desaparecerá. Si el archivo no existe, créelo.

w+ abre un archivo legible y grabable. Si el archivo existe, la longitud del archivo se borrará a cero, es decir, el contenido del archivo desaparecerá. Si el archivo no existe, créelo.

a Abre un archivo de solo escritura en modo agregar. Si el archivo no existe, se creará el archivo. Si el archivo existe, los datos escritos se agregarán al final del archivo, es decir, se conservará el contenido original del archivo.

a+ Abre un archivo de lectura y escritura en modo agregar. Si el archivo no existe, se creará el archivo. Si el archivo existe, los datos escritos se agregarán al final del archivo, es decir, se conservará el contenido original del archivo.