Aém de fscanf(); que usamos para leitura de textos num arquivo
também podemos usar a função fgets(); A função fgets();
lê uma linha inteira de uma vez, ou até que um '\n' tenha sido encontrado.
O endereço da string lida, é retornado se a leitura foi realizada corretamente,
ou o retorno NULL se a leitura fracassou.
Considere como certo a seguinte sintaxe para fegets();
char *fgets ( char *minhaString, int numBytes, FILE *arq );
Vale lembrar que estas duas funções que foram citadas acima, são da biblioteca
padrão do c, stdio.h.
Neste tópico trago um bom exemplo de leitura de arquivos usando fgets();
A matriz onde armazenamos nosso texto lido do arquivo foi alocada dinamicamente,
e liberada após o uso, pela funçõa free(); Note que isto é uma obrigação
nossa, já que somos futuros bons programadores em linguagem c.
Na imagem abaixo, temos o nosso arquivo de texto utilizado:
Acompanhe abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
também podemos usar a função fgets(); A função fgets();
lê uma linha inteira de uma vez, ou até que um '\n' tenha sido encontrado.
O endereço da string lida, é retornado se a leitura foi realizada corretamente,
ou o retorno NULL se a leitura fracassou.
Considere como certo a seguinte sintaxe para fegets();
char *fgets ( char *minhaString, int numBytes, FILE *arq );
Vale lembrar que estas duas funções que foram citadas acima, são da biblioteca
padrão do c, stdio.h.
Neste tópico trago um bom exemplo de leitura de arquivos usando fgets();
A matriz onde armazenamos nosso texto lido do arquivo foi alocada dinamicamente,
e liberada após o uso, pela funçõa free(); Note que isto é uma obrigação
nossa, já que somos futuros bons programadores em linguagem c.
Na imagem abaixo, temos o nosso arquivo de texto utilizado:
Acompanhe abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define SI_ZE 65
void Moldura ( ) {
int c;
textbackground ( WHITE );
gotoxy ( 1 , 1 );
for ( c = 0; c < 255 ; c++ ) {
printf ( " " );
}
gotoxy ( 1 , 25 );
for ( c = 1; c < 87 ; c++ ) {
printf ( " " );
}
}
int main ( ) {
system ( "title ARQUIVO - LEITURA COM FGETS" );
int c, i;
char **line;
line = ( char** ) malloc ( SI_ZE * sizeof(char*) );
FILE *arq = fopen ( "Classificação.txt" , "r" );
if ( arq == NULL ) {
textcolor ( YELLOW );
gotoxy ( 26 , 12 );
printf ( "Problemas na
abertura do arquivo " );
getche ( );
return ( 0 );
}
if ( arq != NULL ) {
textcolor ( WHITE );
for ( i = 0; i < 9 ; i++ ) {
line [ i ] = ( char* ) malloc ( SI_ZE * sizeof(char*) );
fgets ( line [ i ] , 160 , arq );
}
Moldura ( );
textbackground ( BLACK );
textcolor ( LIGHTRED );
gotoxy ( 32 , 5 );
printf ( "ARQUIVO -
LEITURA COM FGETS" );
for ( i = 0; i < 9 ; i++ ) {
c = i;
textcolor ( LIGHTRED );
gotoxy ( 1 , i + 7 );
textcolor ( LIGHTBLUE );
printf ( "%s" , line [ i ] );
}
fclose ( arq );
} else {
printf ( "Nao foi possível
abrir o arquivo." );
getche ( );
return 0;
}
textcolor ( LIGHTBLUE );
gotoxy ( 17 , 17 );
printf ( "Por: " );
textcolor ( LIGHTMAGENTA );
printf ( "Samuel
Lima" );
textcolor ( BLACK );
gotoxy ( 17 , 19 );
printf ( "sa_sp10@hotmail.com" );
Sleep ( 1800 );
textcolor ( LIGHTRED );
gotoxy ( 37 , 20 );
printf ( "MUITO OBRIGADO" );
getche ( );
exit ( 0 );
free ( line );
return 0;
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.