Atps
{
FILE * pFile;
int c;
int n = 0;
pFile = fopen ("ArquivoTexto.txt", "r");
if (pFile !=NULL)
{
do { //DO
c = fgetc(pFile);
if (c == '\n') n++;
} //DO
while (c != EOF);
fclose(pFile);
printf("Número de linhas = %d.\n", n);
}
return 0;
}
#include
int main ()
{
FILE * pFile;
int c;
int n = 0;
pFile = fopen ("ArquivoTexto.txt", "r");
if (pFile !=NULL)
{
do { //DO
c = fgetc(pFile);
if (c == '\n') n++;
} //DO
while (c != EOF);
fclose(pFile);
printf("Número de linhas = %d.\n", n);
}
return 0;
}
Listagem 1. Exemplo de programa em Linguagem C para contagem de linhas de um arquivo.
O Desafio
Partido do exemplo anterior de contagem simples de linhas de um arquivo texto, o desafio desta tarefa tem início ao se querer determinar o número de linhas do código que são comentários formatados segundo a sintaxe da Linguagem C/C++. A sintaxe prevê dois tipos de comentários: linha única começando com os caracteres “//” (barra, barra); e comentários multi-linhas começando com “/*” (barra, asterisco) e com término determinado por “*/” (asterisco, barra).
Para uma visão de um problema real, considere o exemplo de código fonte escrito em C apresentado na Listagem 2. Observe os vários trechos com comentários para ajudar a documentação do código-fonte.
Listagem 2. Exemplo real de código fonte com vários comentários.
//----------------------------------------------------------
// Exemplo de Cabeçalho
//
// Neste tipo de comentário, faz-se uma breve apresentação do conteúdo do
// módulo em linguagem C. O código apresentado a seguir é um extrato de
// desenvolvimento criado para a disciplina de Classificação e Pesquisa.
// Pede-se ao leitor identificar os tipos de linhas com comentários, em
// especial a diferenciação de comentários de uma ou de várias linhas.
//
// Autor: Marcelo Augusto Cicogna.
// Revisões:
// 22/11/2005: Criação do