Noções básicas de Sequential de acesso a arquivos em C Programming

A maneira mais simples que a informação de programação C é armazenado em um arquivo é sequencialmente,

um byte a seguir ao outro. O arquivo contém uma longa corrente de dados.

acesso a arquivos em C é simplesmente uma outra forma de I / O. Ao invés de ir para o visor, a entrada ou saída vai para um arquivo. Um arquivo é aberto usando o fopen () função:

lidar = fopen (filename, modo) -

A função fopen () requer dois argumentos, ambos cordas. O primeiro é um nome do arquivo- a segunda é uma modo. A função fopen () retorna um arquivo manusear, que é um ponteiro usado para referenciar o arquivo. Esse ponteiro é um tipo de arquivo de variável.

ModoAbra o arquivo paraCriar arquivo?notas
"uma"acrescentandosimEle contribui para a extremidade de um file- um ficheiro existente é criada se itdoesn't existir.
"A +"Anexando e leiturasimA informação é adicionado ao fim do ficheiro.
"R"LeituraNãoSe o arquivo não existir, fopen () retorna um erro.
"R +"Leitura e escritaNãoSe o arquivo não existir, será devolvido um erro.
"W"EscrevendosimO arquivo existente será substituído se o mesmo nome é usado.
"W +"Escrita e leiturasimO arquivo existente será substituído.

o modo é uma cadeia. Mesmo quando apenas um caractere for especificado, ele deve ser colocado entre aspas duplas.

Depois que o arquivo é aberto, você usar o manusear variável para referenciar o arquivo como você ler e escrever. O arquivo funções de I / O são semelhantes ao seu padrão de I / O homólogos, mas com um prefixo f. Para escrever para um arquivo, você pode usar o fprintf (), fputs (), fputchar () e funções similares. Leitura de um arquivo usa as fscanf (), fgets () e funções similares.

Você fecha o arquivo usando a função fclose () com o identificador de arquivo como seu argumento.

Como escrever um texto para um arquivo

Escrever esse arquivo demonstra o processo básico de criação de um novo arquivo, escrever um texto para o arquivo, e em seguida, fechar o acesso ao arquivo.

Escrevem que ARQUIVO

#include #include int main () {FILE * fh-fh = fopen ( "hello.txt", "w") - se (fh == null) {puts ( "Não é possível abrir esse arquivo!") - saída (1) -} fprintf (fh, "Olha o que eu fiz! n") - fclose (fh) -Retornar (0) -}

Line 6 cria o identificador de arquivo, fh. É um ponteiro. As lojas ponteiro do resultado da função fopen () a partir da linha 8. A hello.txt arquivo é criado usando o modo "w" (escrever). Se o arquivo existir, ele é substituído.

A instrução if verifica para confirmar que o arquivo foi adequadamente aberto. Se não fosse, o valor de fh é NULL, e são tomadas medidas adequadas.

A função fprintf () escreve texto para o arquivo na Linha 14. O formato é o mesmo que para printf (), embora o identificador de arquivo deve ser incluído como um argumento.

Finalmente, Linha 15 fecha o arquivo usando a função fclose (). Esta declaração é um passo necessário para qualquer tipo de programação de acesso a arquivos.

Exercício 1: Copie o código fonte a partir Escrever esse arquivo em seu editor. Criar e executar o programa.

a saída do programa vai para um arquivo, para que você não ver nada exibido quando ele é executado. Use o navegador de arquivos do seu computador para localizar o arquivo e abri-lo. Ou você pode escrever um programa que lê o texto do mesmo arquivo.

Como ler texto de um arquivo

As funções de texto de leitura padrão C são usados ​​para ler o texto de um arquivo da mesma forma que ler o texto a partir do teclado. Para ler o texto um carácter de cada vez, use a função fgetc ().

Ler esse arquivo

#include #include int main () {FILE * fh-int ch-fh = fopen ( "hello.txt", "R") - se (fh == null) {puts ( "Não é possível abrir esse arquivo!" ) -exit (1) -} while ((ch = fgetc (FH)) = EOF) putchar (ch) -fclose (fh) -Retornar (0) -}

Linha 9 em ler esse arquivo abre a hello.txt arquivo somente para leitura. O arquivo deve existir ou então ocorre um erro.

O loop while na linha 15 exibe o conteúdo do arquivo um carácter de cada vez. A função fgetc () lê um caractere do arquivo identificado por fh alça. Esse personagem é armazenado em ch variável. O resultado é comparado com o final da constante Arquivo. Quando há uma correspondência, o arquivo foi completamente ler e o loop while pára. Caso contrário, o carácter que é lido é exibida na Linha 16.

Exercício 2: Criar um novo programa usando o código-fonte mostrado na ler esse arquivo. Construir e executar.

O programa exibe o conteúdo do arquivo criado pelo Exercício 1- caso contrário, você verá a mensagem de erro.

Exercício 3: Modifique o código fonte do Exercício 1 a escrever uma segunda corda para o arquivo. Adicionar a seguinte declaração após Linha 14:

fputs ( "Meu programa C escreveu este arquivo. n", fh) -

Ao contrário de usar as puts () declaração, você precisa especificar um caractere de nova linha para fputs () de saída. Além disso, o argumento de identificador de arquivo aparece após a corda, que é incomum para uma função de arquivo de linguagem C.

Os dois arquivos de gravação de funções fprintf () e fputs () escrever um texto para o arquivo sequencialmente, um personagem após o outro. O processo funciona como escrever um texto para a tela, mas em vez disso os personagens são salvos em um arquivo no armazenamento permanente.

A função fgets () lê uma cadeia inteira de texto de um arquivo. Para fazê-lo funcionar, você precisa de um buffer de entrada, o número de caracteres de ler, e o identificador de arquivo.

Engolindo cadeias de texto

#include #include int main tampão () {FILE * fh-char [64] -fh = fopen ( "hello.txt", "R") - se (fh == null) {puts ( "Não é possível abrir esse arquivo! ") - exit (1) -} while (fgets (buffer, 64, fh)) printf ("% s ", buffer) -fclose (fh) -Retornar (0) -}

A função fgets () aparece na Linha 15 como a condição do loop while. Isso porque fgets () retorna um ponteiro para a cadeia que é lido, e quando nenhuma cadeia é lido, ele retorna um NULL. Esse valor pára o loop. Caso contrário, a função printf () na linha 16 exibe a entrada.

O tamanho do buffer e o tamanho dos caracteres lidos em engolir cadeias de texto são idênticos. Isso porque o 0 no final da cadeia é lida a partir do arquivo e não é interpretado como um marcador de fim-de-arquivo.

Exercício 4: Digite o código-fonte do engolindo cadeias de texto em seu editor. Construir e executar.

menu