terça-feira, 31 de maio de 2011

Trabalhando com Arquivos - Contador de Letras

Olá pessoal,

hoje vamos tentar desenvolver um contador de letras. É bem simples, o programa irá contar quantas ocorrências de determinada letra, dentro de um arquivo, teremos.

Para isso, dentro da mesma pasta do executável coloque um arquivo, dentro dele, coloque algumas palavras. Vamos a um pequeno exemplo:


root@debian:/home/eduardo/Documents/programas/FilesV0/bin/Debug# vi arq

dentro do arquivo colocamos:
Teste do programa

Vamos executar:
root@debian:/home/eduardo/Documents/programas/FilesV0/bin/Debug# ./FilesV0 arq p

onde:
./FilesV0 é o nome do progama
arq é o nome do arquivo
p é a letra que desejamos procurar

Resultado:

Numero de ocorrencias da letra p e 1

Veja o código abaixo:


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char * argv[])
{
    FILE * arquivo;
    int letra;
    int nOcorrencias = 0;
    if(argc != 3)
    {
        printf("\n\tErro, voce deve informar o arquivo e a letra a ser procurada!!!!\n");
        return 0;
    }

    else
    {

        arquivo = fopen(argv[1],"r");
        if (arquivo == NULL)
        {
            printf("\n\tProblemas ao abrir o arquivo, certifique-se que o mesmo existe\n");
            return 0;
        }
        else
        {
            letra = fgetc(arquivo);
            while (letra != EOF)
            {
                if (strcmp(argv[2], (char *)&letra) == 0)
                    nOcorrencias++;
                letra = fgetc(arquivo);
            }
            printf("\n\tNumero de ocorrencias da letra %s e %d\n", argv[2], nOcorrencias);
        }
        fclose(arquivo);
    }

    return 0;
}





Nenhum comentário:

Postar um comentário