Bem no ultimo post fiquei-me pela leitura de ficheiros caracter-a-caracter e como disse aqui estou com um post de continuação.
Agora vou falar de leitura de Ficheiros de texto com a leitura/escrita formatada, onde usaremos as variáveis fprintf e fscanf.
fprintf - esta variavel escreve dados num ficheiro num formato indicado e só devem ser utilizadas em ficheiros de texto.
Como exemplo de fprintf têm agora um programa básico sobre isto:#include <stdio.h>
int main(int argc, char *argv[]){
FILE *fp;
int a=1;
char b[30]="maria";
float c=2.3;
if(argc == 2){
fp = fopen(argv[1], "w");
fprintf(fp, "%d %s %.1f", a, b, c);
fclose(fp);
}
else
printf("É necessário especificar um nome de ficheiro.\n");
return 0;
}
Neste programa:
- o nome do ficheiro e digitado através da linha de comandos ao compilar por exemplo: "./fprintf dados.txt"
- o programa grava no ficheiro "dados.txt" as palavras: "1 maria 2.3"
- e aberto no modo de escrita ("w")
Agora o fscanf; Com esta variavel, entramos no ficheiro e lê-mos os dados que existem lá.
Por exemplo:#include <stdio.h>
int main(int argc, char *argv[]){
FILE *fp;
int a;
char b[30];
float c;
if((fp = fopen(argv[1], "r"))!=NULL){
fscanf(fp, "%d %s %f", &a, b, &c);
printf("a = %d\n", a);
printf("b = %s\n", b);
printf("c = %.1f\n", c);
fclose(fp);
}
else
printf("O ficheiro especificado não existe!\n");
return 0;
}
Neste programa:
- o ficheiro e aberto através da linha de comandos como o exemplo acima.
- é aberto no modo de leitura ("r").
- Devolve o número de parâmetros que conseguiu ler com sucesso
- Se o ficheiro não existir ou não se encontrar na mesma pasta/localização o programa avisa que o ficheiro e inexistente.
E acaba aqui a minha introdução a manipulação de ficheiros de texto;
segunda-feira, 20 de outubro de 2008
Publicada por Tiago Graça à(s) 01:09
Etiquetas: escrita, ficheiros, fprintf, fscanf, leitura, manipulacao, manipulacao ficheiros
Subscrever:
Enviar feedback (Atom)
0 comentários:
Enviar um comentário