O_RDONLY, O_WRONLY e O_RDWR SPANGES NA DIANUGAÇÃO C

O_RDONLY, O_WRONLY e O_RDWR SPANGES NA DIANUGAÇÃO C

Na programação, o gerenciamento de arquivos nos permite armazenar e acessar qualquer tipo de informação, seja em bancos de dados criados pelo usuário, arquivos do sistema para executar programas, arquivos executáveis ​​e assim por diante.

O idioma C fornece, entre outras coisas, a função aberta () para criar ou abrir arquivos. Esta função abre ou cria um arquivo especificado nos argumentos de entrada por seu caminho absoluto ou relativo.

Quando usamos essa função, temos a possibilidade de especificar via sinalizadores os atributos que o arquivo a ser aberto ou criado deve ter, por exemplo. se deve ser somente leitura, leitura-escravo ou ambos.

Nisso Linux Dica Artigo, você aprenderá como especificar os atributos de leitura e gravação dos arquivos usando o O_RDONLY, O_wronly, e O_RDWR bandeiras.

Vamos analisar uma descrição teórica dessas bandeiras e, em seguida, implementar seu uso em exemplos que incluem trechos de código e imagens onde definimos lê e escrevemos atributos com esses sinalizadores.

Descrição das bandeiras O_RDONLY, O_WRONLY e O_RDWR.

As bandeiras O_RDONLY, O_wronly e O_RDWR são usados ​​na função do sistema open () para especificar o modo de abertura de um arquivo. Para entender melhor o que se trata essas bandeiras, vejamos a sintaxe junto com uma breve descrição desta função.

int aberto (char *path, int sinalizadores)

A função Open () abre o arquivo especificado no caminho em um dos três modos seguintes especificados no bandeiras:

O_RDONLY: Abra ou crie um arquivo somente leitura

O_wronly: abre ou cria um arquivo somente de gravação.

O_RDWR: abre ou cria um arquivo com acesso de leitura e gravação.

A função Open () também usa sinalizadores adicionais, como O_ CREAT, para criar um arquivo ou

O_ anexar, para adicionar texto a ele. Nos casos em que mais de uma bandeira é usada no argumento de entrada dos sinalizadores, uma operação lógica ou operação deve ser realizada entre eles.

Essas bandeiras e as funções que as usam são definidas no “fcntl.H ”cabeçalho. Portanto, devemos incluí -los em nosso “.Arquivo C ”o seguinte para usá -los:

#incluir

Como abrir um arquivo com permissão de leitura e gravação usando a função Open () e o O_RDONLY, O_WRONLY e O_RDWR SPANDS na linguagem C.

Neste exemplo, mostraremos como abrir um arquivo com permissões de leitura e gravação. Para fazer isso, usamos a função Open (), especificando o caminho e o nome do arquivo no caminho argumento de entrada e o O_RDWR Leia e escreva bandeira nas bandeiras de entrada. Aqui está o código:

#incluir
#incluir
void main ()

int fd aberto ("documentos/exemplo.txt ", o_rdwr);

Dessa forma, o Open () retorna o descritor FD que podemos usar com as funções read () e write () para ler e escrever o arquivo.

Como criar um arquivo e definir os atributos de leitura e gravação com as bandeiras O_RDONLY, O_WRONLY e O_RDWR na linguagem C.

Neste exemplo, criamos um arquivo chamado "exemplo.TXT" e salve -o no “Documentos” diretório com os atributos apenas de leitura usando o O_RDONLY bandeira.

Para fazer isso, adicionamos o cabeçalho “fcntl.h ”para o nosso arquivo e ligue para a função Open () especificando o caminho relativo e o nome do arquivo no caminho argumento de entrada, que neste caso é “Documentos/exemplo. TXT".

Como queremos criar o arquivo, usamos o O_ CREAT bandeira. E como queremos dar atributos somente leitura, usamos o O_RDONLY bandeira. Então, precisamos realizar uma operação lógica ou entre essas duas bandeiras. Aqui está o código para este exemplo:

#incluir
#incluir
void main ()

int fd aberto ("documentos/exemplo.txt ", o_creat | o_rdonly);

Nós compilamos o código no console de comando Linux usando o GCC, especificando o caminho e o nome do “.Arquivo C ”e o nome da saída, como mostrado abaixo:

~ $ gcc documentos/o_flags.c -o o_flag

E executamos a saída com o seguinte comando:

~ $ ./O_FLAG

Quando você executa este código, a função Open () criará um arquivo com atributos somente leitura. Na figura a seguir, podemos ver o arquivo criado no Linux File Manager e seus atributos somente leitura em suas propriedades.

Se queremos criar um arquivo com acesso de leitura e gravação, devemos usar o O_RDWR Bandeira como mostrado abaixo:

#incluir
#incluir
void main ()

int fd aberto ("documentos/exemplo.txt ", o_creat | o_rdwr);

Nesse caso, a função Open () cria um arquivo com atributos de leitura e gravação, como mostrado na figura a seguir.

Conclusão

Nisso Linux Dica Artigo sobre o idioma C, explicamos como você pode usar o O_RDONLY, O_wronly, e O_RDWR sinalizadores para selecionar o modo aberto de um arquivo quando você usa a função Open ().

Também mostramos como criar arquivos usando a função Open () e o O_ CREAT bandeira e como atribuir permissões de leitura e gravação, executando uma operação lógica ou O_RDONLY e O_wronly bandeiras.

Esperamos que você tenha achado este artigo útil. Para obter mais artigos sobre as dicas de idioma C e Linux, use o mecanismo de pesquisa em nosso site.