[Prévia cron] [Próxima Cron] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto] [Índice de autor]

Re: Comandos para abrir arquivos?



On Mon, 27 Sep 1999, Fabio Silva wrote:
> Como faço para abrir um arquivo texto (como o do EP1) para leitura
> sequencial? E para ler o conteúdo dos arquivos? Algum entendido em C
> poderia me ajudar?

o stdio.h tem varias funcoes para manipulacao de arquivos: 

fopen
fclose
fread
fwrite
fprintf
etc.

Crie um ponteiro para uma variavel tipo FILE e comece a usalas. Um exemplo
documentado:

#include <stdio.h>

int main(int argc,char *argv[])
{
int i;
FILE *arq;	// arq e um ponteiro arquivo (ainda nao inicializado)
if(!argv[1]) return;	// se nao existir argv[1], sai do programa.
arq=fopen(argv[1]."wb");	// arq agora aponta para o arquivo com nome 
	// argv[1] (que e' uma cadeia de caracteres). o "wb" e':
	// w = leitura/gravacao, b = binario, r = somente leitura, a = anexacao.

for(i = 0; argv[1][i] != 0; i++)	// enquanto nao acaba o string argv[1]
	fwrite(&argv[1][i],sizeof(char),1,arq); // &argv[1][i] = copiar de onde,
	// sizeof(char) = tamanho do que esta sendo copiado (no caso, uma char
	// por vez), 1 = quantos serao copiados, arq = para onde serao copiados
	// as funcoes fread e fwrite continuam do ponto do arquivo onde pararam,
	// por isto posso fazer as coisas com o laco for.
fclose(arq);	// fecha o arquivo arq.
}

este programinha cria um arquivo com o nome entrado pela linha de comando e
grava seu nome dentro dele mesmo.

Voce tambem pode abrir arquivos do seu proprio jeito e ignorar as funcoes do
stdio.h, mas ai voce tera que se esforcar um pouquinho...! 8-)

Boa sorte...

-jpkc