the c++ programming language 第七章课后习题4
题目:写一个程序,它读入任意多个由命令行参数提供名字的文件,并将他们一个接着一个写入cout。我对题目的理解是:读入任意多个文件,这个文件是由命令行参数提供的名字。
什么叫读入任意多个文件,怎么读入文件,文件不是应该先定义好,才能用么?它不像其他内部类型可以用cin任意读入。
#include<iostream>
#include<fstream>
using namespace std;
void cat_stream(istream &input)
{
char ch;
while(input.get(ch))
cout.put(ch);
}
int main(int argc,char *argv[])
{
if(argc<2)
cat_stream(cin);
else{
for(int k = 1;k!=argc;++k){
ifstream infile(argv[k]);
cat_stream(infile);
}
}
return 0;
}
#include<iostream>
#include<fstream>
using namespace std;
void cat_stream(istream &input)
{
char ch;
while(input.get(ch))
cout.put(ch);
}
int main(int argc,char *argv[])
{
if(argc<2)
cat_stream(cin);
else{
for(int k = 1;k!=argc;++k){
ifstream infile(argv[k]);
cat_stream(infile);
}
}
return 0;
}
何必这么繁琐呢?这样不更好吗?
int main()
{
char ch;
while(cin.get(ch)) //直到按下Ctrl + Z才结束程序
cout.put(ch);
return 1;
}
[此贴子已经被作者于2006-3-2 14:42:03编辑过]