EX:
#include
int main(){
FILE *fp; /* apontador para o ficheiro */
int contador = 0; /* variável para contar os caracteres */
/* Abrir o ficheiro */
fp = fopen("texto.txt", "r");
/* Contar os caracteres do ficheiro */
while (fgetc(fp) != EOF)
contador++;
printf("Número total de caracteres = %d\n",contador);
/* Fechar o ficheiro */
fclose(fp);
/* Terminar o programa */
return 0;
}
- O ficheiro é aberto no modo de leitura, e parte-se do princípio que este existe.
- Cada caracter lido não é armazenado numa variável, sendo utilizado apenas na condição do ciclo “while”.
- Foi utilizado um ciclo “while” para percorrer o ficheiro byte-a-byte, utilizando a constante simbólica EOF para controlar o fim do ficheiro (EOF=End Of File, cujo valor é -1).
- Conte atentamente os caracteres do ficheiro de texto, pois até as mudanças de linha são representadas por um caracter “invisível”.
Caso pretendessemos realizar alguma operação com os caracteres lidos, como por exemplo mostrar o conteúdo do ficheiro antes de apresentar a contagem dos caracteres, facilmente poderíamos alterar o código para a versão apresentada a seguir.
PASSAGEM DE PARÂMETROS:
Para possibilitar a passagem de parâmetros a partir da linha de comandos existem dois parâmetros especiais:
argc -Dá indicação do número de argumentos que foram passados na linha de comando. Quando não são passados argumentos este valor é 1, uma vez que o próprio nome do programa faz parte desta contagem.
argv - É um array de strings que contém os caracteres que formam cada uma das strings passadas a partir da linha de comandos. Pelo mesmo motivo apresentado no ponto anterior, argv[0] armazena o próprio comando invocado.
Nenhum comentário:
Postar um comentário