
Go backward to Abre e lista o ficheiro
Go up to Alguns exercícios a exemplos dados nas aulas teóricas
Go forward to Números aleatórios e simulações
Abrir e fechar ficheiros, um exemplo
// -----------------------------------------------------------------------------
// Ficheiros (Streams):
// Conta o numero de caracteres de um ficheiro e escreve-os noutro
// a.out f1 f2
#define MAXB 100
#include <stdio.h>
FILE *fin, *fout;
main(int argc, char *argv[]){
int ch,c=0;
char buf[MAXB];
FILE *open_file(char*, char*);
if(argc!=3){
printf("usage count file_in file_out\n");
exit(1);
}
fin = open_file(argv[1],"r");
fout= open_file(argv[2],"w");
while((ch=getc(fin))!=EOF)
c++;
fprintf(fout,"Number of chars = %d\n",c);
fclose(fin);
fclose(fout);
}
//--- abre o ficheiro name no modo mode ---------------------
FILE *open_file(char* name, char* mode){
FILE *f;
f=fopen(name,mode);
if(f==NULL){
printf("could not open file %s\n",name);
exit(1);
}
return(f);
}
/*--- resultados ------------------------------------------
$ ./a.out conta.c xx
$ more xx
Number of chars = 723
$ wc conta.c
36 84 723 conta.c
*/
