| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 880 人关注过本帖
标题:the c++ programming language 第七章课后习题4
只看楼主 加入收藏
karlzhouzhi
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2005-12-25
收藏
 问题点数:0 回复次数:4 
the c++ programming language 第七章课后习题4
题目:写一个程序,它读入任意多个由命令行参数提供名字的文件,并将他们一个接着一个写入cout。

我对题目的理解是:读入任意多个文件,这个文件是由命令行参数提供的名字。
什么叫读入任意多个文件,怎么读入文件,文件不是应该先定义好,才能用么?它不像其他内部类型可以用cin任意读入。
搜索更多相关主题的帖子: programming 习题 language 
2006-03-01 11:08
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
收藏
得分:0 
在第7章介绍了函数参数的省略形式,这样就可以通过命令行参数提供任意多个文件的名字。
读入文件涉及到输入流,查看一下后面的章节。
这里的所有文件都是存在的,当然不存在的话,你也可以判断出来。

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2006-03-01 11:49
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分: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;
}


c++/C + 汇编 = 天下无敌
2006-03-01 21:25
olivezhang
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-9-14
收藏
得分:0 
以下是引用热情依然在2006-3-1 21:25:00的发言:

#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编辑过]


谷底深深行 ,峰顶漫漫步......@_@
2006-03-02 14:41
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
这个程序是按照题目的要求做的,实际上是不用那么麻烦。

c++/C + 汇编 = 天下无敌
2006-03-02 20:46
快速回复:the c++ programming language 第七章课后习题4
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051796 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved