TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Atps - Contador De Linhas Em C

Monografias: Atps - Contador De Linhas Em C. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  21/9/2013  •  942 Palavras (4 Páginas)  •  505 Visualizações

Página 1 de 4

#include<iostream>

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

using namespace std;

/*Protótipo*/

void ccRun(char nArquivo[],int comentario,int lVazias);

int main(int argc, char *argv[])//argc: Conta Quantos argumentos são passados para o main, *argv[]: Armazena os argumentos passados num vetor de strings.

{

/*Variaveis*/

int comentario,lVazias,i;

/*Teste Lógico*/

if(argc<=2){//Se argc for <=2 é porque contém apenas o nome do programa.

comentario=0;//então não tem nenhum comentario.

lVazias=0;// e nenhuma linha vazia.

}else{//se for maior que 2...

for(i=0;i<argc;i++){

if(strcmp("-c",argv[i])==0){//verifica se na posição em que está o argv[] existe alguma solicitação de combinação de caracteres do tipo "-c".

comentario=1;//se Houver então existem comentario(s) e serão exibidos!

}

if(strcmp("-v",argv[i])==0){

lVazias=1;//O mesmo para Linhas Vazias.

}

}

}

ccRun(argv[argc-1],comentario,lVazias);//Na Chamada de função são passados por parametros: argv[nomedoprograma],comentario e linhas se validos.

cout<<"\n";

return(0);

}

void ccRun(char nArquivo[],int comentario,int lVazias)

{

int c,nCod,cLetra,j;

int flCom=0,flComtw=0,regComent=0,regLvazia=0,flVaz=0,flVaztw=1;

FILE * pArquivo;

char caracteres[sizeof(pArquivo)*1024];//Aqui a string foi criada para armazenar cada caracter do arquivo. O sizeof retorna o valor em kbytes por isso o nosso arquivo foi multplicado por 1024b. ou seja 1kb.

pArquivo=fopen(nArquivo,"r");//Abre o arquivo no modo read.

if(pArquivo!=NULL){//valida o arquivo

do{//repita até...

c=fgetc(pArquivo);//fgetc pega cada caracter dentro do arquivo aberto.

if(c=='\n'){//se fgetc localizou um pulo de linha então...

nCod++;//pulo de linha é contado.

}

cLetra++;//contador de caracteres para mover o array "caracteres".

caracteres[cLetra]=c;//armazena um por um cada caracter "na posição atual do contador".

}while(c!=EOF);

fclose(pArquivo);

}else if(strcmp("-h",nArquivo)!=0){

cout<<"Impossivel Abrir o Arquivo! "<<endl;}

for(j=0;j<cLetra;j++){//Laço para rodar todo o arquivo ->

if(caracteres[j]=='/' && caracteres[j+1]=='*'){//se o vetor na posição atual for igual a " /* " então ->

flCom=1;//Flag indicando que a(s) linha(s) estão sendo comentadas ou seja igual a 1(valido).

...

Baixar como (para membros premium)  txt (4.4 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com