Exemplo
void
doEverything(
int
argc,
char
* argv[])
{
if
(argc>1){
for
(
int
i=1; i<argc; i++){
cout <<
"lendo arquivo "
<< argv[i] << endl;
char
temp[1000];
fstream file(argv[i], ios::in);
cout <<
"conteúdo do arquivo é "
<< endl;
while
(!file.eof()){
file.getline(temp, 1000);
//Possui profundidade equivalente a quatro
cout << temp;
}
file.close();
}
}
else
{
cout <<
"Nenhum arquivo especificado"
;
}
}
Solução
Deixe as funções menores e mais específicas.
void
readOneFile(
char
* fileName);
/*
*
* Cabeçalho para função readEachFile(int argc, char* argv[])
* Lê uma lista fornecida de arquivos.
*
* */
void
readEachFile(
int
argc,
char
* argv[])
{
if
(argc>1){
for
(
int
i=1; i<argc; i++){
cout <<
"lendo arquivo "
<< argv[i] << endl;
readOneFile(
argv[i]
);
}
}
else
{
cout <<
"Nenhum arquivo especificado"
;
}
}
void
readOneFile(
char
* fileName){
char
temp[1000];
fstream file(fileName, ios::in);
]
cout <<
"conteúdo do arquivo é "
<< endl;
while
(!file.eof()){
file.getline(temp, 1000);
cout << temp;
}
file.close();
}