示例
void
doEverything(
int
argc,
char
* argv[])
{
if
(argc>1){
for
(
int
i=1; i<argc; i++){
cout <<
"reading file "
<< argv[i] << endl;
char
temp[1000];
fstream file(argv[i], ios::in);
cout <<
"file contents are "
<< endl;
while
(!file.eof()){
file.getline(temp, 1000);
//This has a depth of four
cout << temp;
}
file.close();
}
}
else
{
cout <<
"No files specified"
;
}
}
解决方案
使函数更简短且更有针对性。
void
readOneFile(
char
* fileName);
/*
*
* Header for function readEachFile(int argc, char* argv[])
* Reads a given list of files.
*
* */
void
readEachFile(
int
argc,
char
* argv[])
{
if
(argc>1){
for
(
int
i=1; i<argc; i++){
cout <<
"reading file "
<< argv[i] << endl;
readOneFile(
argv[i]
);
}
}
else
{
cout <<
"No files specified"
;
}
}
void
readOneFile(
char
* fileName){
char
temp[1000];
fstream file(fileName, ios::in);
cout <<
"file contents are "
<< endl;
while
(!file.eof()){
file.getline(temp, 1000);
cout << temp;
}
file.close();
}