Hoje, aprenderemos sobre escrever em um arquivo em C Language com diferentes funções internas de manuseio de arquivos enquanto trabalhamos no Ubuntu 20.04 Sistema Linux. Inicie o terminal Linux primeiro usando o atalho "Ctrl+Alt+T".
Exemplo 01: Usando o método fprintf ()
Iniciaremos nosso primeiro exemplo criando um novo arquivo C no sistema Linux. Assim, a consulta de "toque" será usada para isso. O nome do arquivo foi dado como “arquivo.C ”. Após a criação de um arquivo, precisamos abri -lo para escrever algum código C nele. Isso exige que algum editor seja instalado em seu sistema. Existem vários editores disponíveis no Linux. Estamos usando o editor "GNU Nano" aqui. Então, a palavra -chave "nano" no comando mostra o uso do editor de nano para editar o arquivo C.
Temos que adicionar as bibliotecas padrão do idioma C. A biblioteca muito conhecida e sempre necessária é um cabeçalho padrão de entrada e saída que é adicionado em nosso código com a palavra-chave "#include" na parte superior de um arquivo. Inicie a inicialização de um método "principal". No método main (), você precisa primeiro criar um descritor de arquivo i.e. objeto de arquivo. Este descritor será usado para abrir, fechar, ler, escrever o arquivo e deve ser do tipo ponteiro.
Usamos este descritor de objeto de arquivo para abrir o arquivo com o uso do método "Open ()" amplamente conhecido no conceito de arquivamento na linguagem C. Este método leva dois argumentos em seus parâmetros. O primeiro é "caminho" para o arquivo e o outro é "modo" no qual o arquivo será aberto. Aponte a ser observado que, dentro do ambiente Linux, você não precisa criar um novo arquivo para adicionar dados a ele.
No Linux, você pode simplesmente colocar o nome no parâmetro de caminho do método "aberto ()" e seu arquivo será gerado automaticamente no local especificado. Adicionamos o modo "W+" para deixar o usuário escrever e editar o arquivo.
Agora, o ponto principal veio. A cláusula “fprintf” foi usada aqui para escrever dados no arquivo “Novo.txt ”com a ajuda de seu descritor“ f ”. Depois de escrever no arquivo, você precisa fechar o descritor de arquivo para deixar de deixar um usuário fazer mais, com o uso da função "Close ()" aqui. O método principal será encerrado aqui. Salve este código e deixe o editor utilizando "Ctrl+S" e "Ctrl+X".
Para executar o código C, precisamos compilá -lo primeiro. Se você não possui um compilador C em seu sistema Linux, tente obter "GCC". Então, usamos o comando "gcc" junto com o nome de um arquivo "Arquivo.C ”para compilar o código dentro dele. Se a compilação não retornar nada, isso significa que seu código está livre de erros.
Nós executamos isso com o “./a.out ”comando. A execução também não retornou nada. Agora, verifique o arquivo que foi criado por este código i.e. "novo.txt "com a consulta" gato ". Você verá que os dados estão escritos com sucesso no arquivo.
Exemplo 02: Usando o método fputc ()
Esta função é conhecida por escrever um caractere único dentro do arquivo de cada vez. Vamos começar a ver como funciona. Abra o mesmo arquivo C para fazer isso. Depois de adicionar a biblioteca de entrada do cabeçalho, inicialize o método principal (). Dentro do método principal, adicione o descritor de arquivo do tipo de ponteiro. Este descritor de arquivo está abrindo o arquivo “Novo.txt "com a função" fopen () "de c.
A sintaxe é a mesma de acordo com o exemplo acima. O único necessário para mudar é a função "fputc" aqui está levando dois argumentos. Um é os dados que eu.e., personagem e o outro é o descritor de arquivo para especificar o arquivo. Depois de adicionar os dados em um arquivo, o descritor é usado para fechar o arquivo com o método "fclose ()".
Compilar o arquivo primeiro e executá -lo depois disso. Nada acontece porque o código estava correto. Exibir os dados de um “novo.Arquivo TXT ”no shell com o uso do comando“ Cat ”. Os dados antigos foram substituídos pelo personagem "a".
Exemplo 03: Usando o método fputs ()
Dentro deste exemplo, usaremos outra função i.e. “FPUPS” para escrever dados em um arquivo de texto. A função fputs () difere da função "fputc ()" porque leva corda-Tipo valores em vez de um personagem. Não há necessidade de alterar o código geral. A única alteração é necessária na linha de função "fputs ()". Substitua "FPUTC" por "fputs".
Temos que alterar os dados que serão escritos no arquivo também. Dentro dos métodos fputc () e fputs (), o ponteiro do descritor de argumento é usado após a "string" enquanto no "fprintf" é usado primeiro. Salve seu arquivo para atualizá -lo.
Vamos compilar e executar o código mais uma vez com "GCC" e "A.fora ”comandos. Tivemos sucesso à medida que os dados são escritos com sucesso no arquivo “Novo.TXT".
Exemplo 04:
Vamos ter um exemplo um pouco aprimorado. Depois de abrir o mesmo “arquivo.Arquivo C ”, adicione o cabeçalho da biblioteca de entrada e saída e. Depois disso, o método principal é iniciado com o tipo de retorno "int". Uma variável de matriz do tipo de caractere “arr” foi declarada com tamanho 1000. O descritor de arquivo do tipo de ponteiro foi declarado eu.e., "F". O arquivo “novo.TXT ”foi aberto com a função“ FOPEN () ”do manuseio de arquivos com o uso do descritor de arquivos“ F ”. O modo de gravação foi usado para abrir e escrever no arquivo.
Aqui vem a declaração "se". Ele verificará se o descritor de arquivo não foi vinculado a nenhum arquivo e está vazio, ele imprimirá que há algum erro e o programa deixará de executar ainda mais. Se o descritor seria aberto com sucesso e criar o arquivo, o usuário será solicitado a inserir alguns dados no terminal do shell através da cláusula "printf". A função "fgets ()" é um novo conceito aqui.
É usado para obter a entrada padrão inserida por um usuário, verifique seu tamanho e salvá -lo em uma variável de caractere "arr". O método "fprintf" é usado para inserir essa variável "arr" no arquivo com seu descritor. O descritor de arquivo se aproxima aqui.
A saída é bastante esperada. O usuário inseriu algumas frases e o arquivo foi exibido com os dados nele.
Conclusão
Dentro deste guia hoje, discutimos as maneiras de escrever dados em um arquivo enquanto trabalhamos no idioma C. Usamos diferentes funções de manuseio de arquivos de c para fazer isso eu.e., FOPEN, FPUPTC, FPPTES, FPRINTF, FGETS e FCLOSE. Por outro lado, o conceito de ponteiros e matrizes também foi usado. Acreditamos extremamente que este artigo contém todas as ilustrações necessárias para entender o conceito de escrita de arquivos na linguagem C.