Daniel Lapa – Blog de Programação

Outubro 20, 2008

Módulo 7 – Manipulação de ficheiros

Arquivado em: programação — daniellapa @ 10:11 am

Durante este módulo aprendemos a fazer a manipulação da ficheiros binários e de texto, elaboramos neste módulo cinco fichas de trabalho onde nos ajudou a aprender mais sobre como manipular ficheiros. Aprendemos a abrir e a fechar ficheiros em vários modos de acesso, aprendemos a inserir e a fazer a leitura de texto no ficheiro de carácter-a-carácter, aprendemos também a a escrever e a ler ficheiros de texto formatado enas últimas aulas aprendemos a escrever e a ler ficheiros binários.

Abrir ficheiro:

fp =fopen("meutexto.txt","r");

Fechar ficheiro:

fclose(fp);

Escrever um carácter num ficheiro de texto:

fputc('a',ficheiro);

Lê um caracter de um ficheiro de texto:

caracter=fgetc(ficheiro);

Escrever dados num ficheiro formatado:

fprintf(fp, "%d %s %.1f", a, b, c);

Ler dados de um ficheiro formatado:

fscanf(fp, "%d %s %f", a, b, c);

Escrever para um ficheiro binário:

fwrite(x,sizeof(int), 5, fp);

Ler um ficheiro binário:

fread(x,sizeof(int), 5, fp);

Módulo 7 – Manipulação de ficheiros Binários

Arquivado em: programação — daniellapa @ 9:49 am

Nas ultimas aulas do modulo aprendemos a manipular ficheiros binários.

Aprendemos a escrever e a ler ficheiros binários.

Escrever no ficheiro binário:

fwrite(x,sizeof(int), 5, fp);

Ler ficheiro binário:

fread(x,sizeof(int), 5, fp);

Neste exemplo escreve num fichiero binário:

#include <stdio.h>
int main(int argc, char *argv[]){
	FILE *fp;
	int x[5], i;

	fp = fopen(argv[1], "wb");
	for(i = 0; i < 5; i++){
		printf("Inserir um numero na posicao %d do array: ",i);
		scanf("%d", &x[i]);
	}
	fwrite(x,sizeof(int), 5, fp);
	printf("Operacao efectuada\n");
	fclose(fp);
	return 0;
}

Outro exemplo, este lê um ficheiro binário:

#include <stdio.h>
int main(int argc, char *argv[]){
	FILE *fp;
	int x[5], i;

	fp = fopen(argv[1], "rb");
	if(fp == NULL){
		printf("O ficheiro nao e válido\n");
		return 1;
	}
	fread(x, sizeof(int), 5, fp);
	for(i = 0; i < 5; i++){
		printf("Array[%d] = %d\n",i, x[i]);
	}
	fclose(fp);
	return 0;
}

Outubro 17, 2008

Modulo 7 – Escrever e ler ficheiros de texto formatado

Arquivado em: programação — daniellapa @ 9:52 am

Nas ultimas aulas aprendemos a escrever e a ler ficheiros de texto formatado.

Escrever dados formatados:

fprintf(fp, "%d %s %.1f", a, b, c);

Ler dados formatados:

fscanf(fp, "%d %s %f", a, b, c);

Este exemplo escreve dados no ficheiro num formato indicado:


#include <stdio.h>
int main(int argc, char *argv[]){

	FILE *fp;
	int a=11;
	char b[30]="texto";
	float c=12.50;

	fp = fopen(argv[1], "w");
    /*escreve dados no ficheiro num formato indicado*/
	fprintf(fp, "%d %s %.1f", a, b, c);
	fclose(fp);

	return 0;
}

Este exemplo lê dados do ficheiro no formato indicado:


#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){
        /*lê dados do ficheiro no formato indicado*/
		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;
}

Outubro 7, 2008

Módulo 7 – Manipulação de ficheiros de texto

Arquivado em: programação — daniellapa @ 9:50 am

este módulo de PSI estamos aprendemos a fazer manipulação de ficheiros de texto.

Durante as aulas fomos aprendendo varias maneiras de manipulação de ficheiros através de vários exercícios e fichas de trabalho. Ao longo das primeiras aulas aprendemos a abrir e fechar ficheiros em vários modos de acesso, depois inserimos e fizemos a leitura de texto no ficheiro de carácter-a-carácter

Exemplo:

#include<stdio.h>
int main(){
 FILE *fp;      //apontador para o ficheiro
 /*Abrir ficheiro*/
 fp =fopen("meutexto.txt","r");
 /*Fechar ficheiro*/
 fclose(fp);

 return 0;
}

Aprendemos também a escrever e a ler um carácter de um ficheiro.

Ler carácter:

caracter=fgetc(ficheiro);

Escrever carácter:

fputc('a',ficheiro);

Exemplo de um programa que lê os carácter de um ficheiro e escreve para outro ficheiro

#include<stdio.h>
int main(int argc, char *argv[]){
	FILE *fa, *fb;
	char caracter;

	fa=fopen(textoa,"r");
	fb=fopen(textob,"w");	

	/*Le caracater a caracter*/
	while((caracter=fgetc(fa))!=EOF){
		fputc(caracter,fb); //escreve os caracter no ficheiro

	fclose(fa);
	fclose(fb);

	return 0;
}

Outro exemplo, este programa verifica se um ficheiro existe:


#include <stdio.h>
int main(int argc, char *argv[]){
	FILE *fp;
	fp = fopen(argv[1],"r");
	if (fp==NULL)
		printf("ficheiro não existe\n");
	else{
		printf("Ficheiro já existe\n");
		fclose(fp);
	}
	return 0;
}

Nas proximas aulas iremos aprender a manipular ficheiros binários.

Blog em WordPress.com.