/*--------------------------------------------------
写一个程序, 它读入任意多个由命令行参数提供名字的文件, 并将它们
一个接一个写入cout. 因为这个程序拼接起它的输入去产生输出, 你可
以称它为cat.
-------------------------------------------------*/
#include <iostream>
#include <fstream>
#include <string>
using std::cout;
using std::cin;
using std::endl;
using std::ifstream;
using std::string;
void cat(const string& cstr1, const string& cstr2, const string& cstr3)
{
char ch;
string str;
ifstream fcin1(cstr1), fcin2(cstr2), fcin3(cstr3);
str.insert(str.length(), "(The first file:)\n");
while (!fcin1.eof())
str.append(1, ch = fcin1.get());
str.insert(str.length(), "\n\n(The second file:)\n");
while (!fcin2.eof())
str.append(1, ch = fcin2.get());
str.insert(str.length(), "\n\n(The third file:)\n");
while (!fcin3.eof())
str.append(1, ch = fcin3.get());
cout << str << endl;
fcin1.close();
fcin2.close();
fcin3.close();
}
int main(int argc, char* argv[])
{
str