Professional Documents
Culture Documents
ARQUIVOS EM DISCO
Entrada e Sada
STREAMS so usados para ler e escrever em C. Um STREAM pode ser uma dispositivo padro do sistema ou um arquivo especfico. STREAM texto, quando o sistema operacional manipula os dados antes de entregar ao programa C STREAM binrio, no tem transformao pelo sistema operacional o que vem do Programa e vai para o arquivo igual. Existem uma associao do STREAM ao arquivo na hora do open. Nem todos os arquivos suportam todas as operaes. O Close desassocia o STREAM do arquivo e fora a transferncia da rea de buffer para o arquivo.
L um caracter do teclado; aguarda um enter L um caracter com eco; no aguarda enter L um caracter sem eco; no aguarda enter
1/7
11/30/2009
No Open de arquivos, Valores legais para o modo: "r" "w" "a" "rb" "wb" "ab" "r+" "w+" "a+" "r+b" "w+b" "a+b" "rt" "wt" "at" "r+t" "w+t" "a+t" abre um arquivo para leitura cria uma arquivo para escrita acrescenta dados a um arquivo j existente abre um arquivo binrio para leitura cria um arquivo binrio para escrita acrescenta dados a um arq binrio existente abre um arquivo para leitura/escrita cria um arquivo para leitura/escrita acrescenta dados/cria um arq para leit/escrita abre um arquivo binario para leitura/escrita cria um arquivo binrio para leitura/escrita acrescenta ou cria um arq bin para leit/escrita abre um arquivo texto para leitura cria um arquivo texto para leitura acrescenta dados a um arquivo texto abre um arquivo texto para leitura/escrita cria um arquivo texto para leitura/escrita acrescenta ou cria arq. texto para leit/escrita
Open de Arquivos
prottipo da funo: FILE *fopen(char *nome_de_arquivo, char *modo)
FILE *fp; if ((fp=fopen("teste", "w")) == NULL)
www.goulart.pro.br/arquivos.html 2/7
11/30/2009
Escrevendo um Caracter
prottipo da funo : int putc(int ch, FILE *fp);
Lendo um Caracter
prottipo da funo : int getc(FILE *fp);
ch = getc(fp); while (ch!=EOF) { ch = getc(fp); }
Fechando um Arquivo
prottipo da funo: int fclose(FILE *fp);
*/
3/7
11/30/2009
#include <stdlib.h> main (int argc, char *argv[]) { FILE *fp; char ch; if (argc !=2) { printf ("Falta nome do arquivo \n"); exit (1); } if ((fp=fopen (argv[1], "w")) == NULL) { printf ("o arquivo naopode ser aberto\n"); exit (1); } do { ch = getchar (); if (EOF == putc(ch,fp)) { printf("Erro no arquivo durante gravacao"); break; } } while (ch!= '$'); fclose (fp); return 0; }
11/30/2009
break; } putc (ch, saida); if(ferror(saida)) { printf("erro na gravacao do arquivo"); break; } } fclose (entr); fclose (saida); return 0; }
Funo fseek()
Para acesso randomico. prottipo : int fseek(FILE *fp, long numbytes, int origem); origem pode ser: Comeo do arquivo Posio corrente Fim do arquivo
www.goulart.pro.br/arquivos.html
0 1 2
5/7
11/30/2009
11/30/2009
www.goulart.pro.br/arquivos.html
7/7