Indicadores O_RDONLY, O_WRONLY y O_RDWR en lenguaje C

En programación, la gestión de archivos nos permite almacenar y acceder a cualquier tipo de información, ya sean bases de datos personalizadas, archivos del sistema para ejecutar programas, archivos ejecutables, etc. Entre otras cosas, el lenguaje C proporciona la función open() para crear o abrir archivos. Esta función abre o crea un archivo especificado en los argumentos de entrada por su ruta absoluta o relativa. Cuando usamos esta función, tenemos la opción de usar flags para especificar qué atributos debe tener el archivo a abrir o crear, por ejemplo. si debe ser de solo lectura, solo lectura o ambos. En esto consejo de linux artículo, aprenderá cómo especificar los atributos de lectura y escritura de los archivos usando SOLO O_RD, O_MALy O_RDWR banderas Veremos una descripción teórica de estas banderas y luego implementaremos su uso en ejemplos que incluyen fragmentos de código e imágenes donde establecemos atributos de lectura y escritura usando estas banderas.

Contenidos

Descripción de los flags O_RDONLY, O_WRONLY y O_RDWR.

Las banderas SOLO O_RD, O_MAL y O_RDWR se utilizan en la función del sistema open() para especificar el modo de apertura de un archivo. Para comprender mejor de qué se tratan estas banderas, veamos la sintaxis junto con una breve descripción de esta función. int open (char *path, int flags) La función open() abre el archivo especificado en la ruta en uno de los siguientes tres modos especificados en las banderas: O_RDONLY: Abre o crea un archivo de solo lectura O_WRONLY: Abre o crea un un archivo de solo lectura. O_RDWR: abre o crea un archivo con acceso de lectura y escritura. La función open() también usa banderas adicionales como O_CREAT para crear un archivo u O_APPEND para agregarle texto. En los casos en que se utilice más de una bandera en el argumento de entrada de banderas, se debe realizar una operación lógica OR entre ellas. Estos indicadores y las funciones que los utilizan se definen en el encabezado fcntl.h. Entonces necesitamos incluirlos en nuestro archivo «.c» para usarlos de la siguiente manera:

Cómo abrir un archivo con permisos de lectura y escritura usando la función open() y los flags O_RDONLY, O_WRONLY y O_RDWR en lenguaje C.

En este ejemplo, le mostraremos cómo abrir un archivo con permisos de lectura y escritura. Para hacer esto, usamos la función open() y especificamos la ruta y el nombre del archivo en el camino argumento de entrada y el O_RDWR Lee y escribe bandera en las banderas de entrada. Aquí está el código: #include #incluir void main(){int fd open («Documentos/ejemplo.txt», O_RDWR);} De esta manera, open() devuelve el descriptor fd que podemos usar con las funciones read() y write() para obtener la lectura y escribir archivo.

Cómo crear un archivo y configurar los atributos de lectura y escritura con los flags O_RDONLY, O_WRONLY y O_RDWR en lenguaje C.

En este ejemplo, crearemos un archivo llamado «ejemplo.txt» y lo guardaremos en el directorio «Documentos» con los atributos de solo lectura usando el SOLO O_RD Bandera. Para hacer esto, agregamos el encabezado “fcntl.h” a nuestro archivo y llamamos a la función open(), en la que especificamos la ruta relativa y el nombre del archivo. camino Argumento de entrada, que en este caso es «Documentos/Ejemplo. txt». Ya que queremos crear el archivo, usamos el O_ CREAR Bandera. Y como queremos darle atributos de solo lectura, usemos esos SOLO O_RD Bandera. Entonces necesitamos realizar una operación OR lógica entre estas dos banderas. Aquí está el código para este ejemplo: #include #incluir void main(){int fd open( «Documents/example.txt», O_CREAT | O_RDONLY );} Compilamos el código en la consola de comandos de Linux con GCC, especificando la ruta y el nombre del archivo «.c» y el Nombre la salida como se muestra a continuación: ~$ gcc Documents/o_flags.c -o o_flag Y ejecutamos la salida con el siguiente comando: Cuando ejecuta este código, la función open() crea un archivo con atributos de solo lectura. En la imagen de abajo podemos ver el archivo creado en el administrador de archivos de Linux y sus atributos de solo lectura en sus propiedades.

Si queremos crear un archivo con acceso de lectura y escritura, necesitamos usar eso O_RDWR Marque como se muestra a continuación: #include #incluir void main(){int fd open( «Documents/example.txt», O_CREAT | O_RDWR );} En este caso, la función open() crea un archivo con atributos de lectura y escritura como se muestra en la siguiente figura.

Conclusión

En esto consejo de linux artículo sobre el lenguaje C, explicamos cómo usarlo SOLO O_RD, O_MALy O_RDWR Indicadores para seleccionar el modo de apertura de un archivo cuando se utiliza la función open(). También le mostramos cómo abrir archivos usando la función open() y el O_ CREAR indicador y cómo asignar permisos de lectura y escritura realizando una operación lógica OR entre este y el SOLO O_RD y O_MAL banderas Esperamos que este artículo le haya resultado útil. Para obtener más artículos sobre lenguaje C y consejos sobre Linux, use el motor de búsqueda en nuestro sitio web.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.