社区
C语言
帖子详情
求助
llcnllcn
2003-05-28 10:17:36
用C++写一个程序,完成下述任务:从文件中读取一个C++源程序,把其中的注释部分去掉,并将去掉注释部分后的源程序写到另一个文件中,而注释部分用cout输出到屏幕上。(提示:输出结果时,可以不考虑源程序的格式。问题:C++原程序中的注释部分有两种情况,及/*...*/和//)
大虾们请帮忙搞定程序,重分酬谢!
...全文
60
4
打赏
收藏
求助
用C++写一个程序,完成下述任务:从文件中读取一个C++源程序,把其中的注释部分去掉,并将去掉注释部分后的源程序写到另一个文件中,而注释部分用cout输出到屏幕上。(提示:输出结果时,可以不考虑源程序的格式。问题:C++原程序中的注释部分有两种情况,及/*...*/和//) 大虾们请帮忙搞定程序,重分酬谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tuxw
2003-05-29
打赏
举报
回复
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
main()
{
ifstream fin( "d:\\temp\\c1.cpp" );
ofstream fout( "d:\\temp\\c2.cpp" );
string inBuf;
bool end = true; // 标记 /* */ 对是否结束
string::size_type first;
while( getline( fin, inBuf, '\n' ) ) // 每次处理一行
{
if(end) // 不在 /* */ 对中
{
first = inBuf.find_first_of( '/' );
if( first == string::npos && end )
{ // 连'/'都没有应该是语句了
fout << inBuf << endl;
continue;
}
while( first != string::npos )
{
if( inBuf[first+1] == '/' )
{ // 该行是双斜杠注释
fout << inBuf.substr( 0, first ) << endl; // 前半部分写入文件
cout << inBuf.substr( first ) << endl; // 后半部分输出
break;
}
else if( inBuf[first+1] == '*' )
{ // 开始 /* */ 对
fout << inBuf.substr( 0, first ) << endl;
cout << inBuf.substr( first ) << endl;
end = false;
}
first = inBuf.find( first, '/' );
}
}
else // 处理 /* 后面的部分,直到找到 */
{
first = inBuf.find( "*/" );
if( first != string::npos )
{ // 找到 */,
end = true;
cout << inBuf.substr(0, first+2) << endl;
// 这里没有考虑 */ 后还有语句或注释的情况
continue;
}
else
cout << inBuf << endl;
}
}
fin.close();
fout.close();
return 0;
}
煜知搬砖者
2003-05-29
打赏
举报
回复
hehe,学习。up
bm1408
2003-05-29
打赏
举报
回复
强人!
up!
adams_here
2003-05-28
打赏
举报
回复
可以这样:
一行行读入到一个CString类的变量中,寻找/*...*/和//,如果有//那么剩下的就全是注释,不要了;如果是/*,再找有没有*/,没有的话读下一行,再找,一直到找到为止,把这其中的内容都去掉。
呵呵,说的有些笼统。
算法技术手册 - 中文版
《算法技术手册》内容简介:开发健壮的软件需要高效的算法,然后程序员们往往直至问题发生之时,才会去
求助
于算法。《算法技术手册》讲解了许多现有的算法,可用于解决各种问题。通过阅读它,可以使您学会如何选择和实现正确的算法,来达成自己的目标。另外,书中的数学深浅适中,足够使您可以了解并分析算法的性能。 较之理论而言,《算法技术手册》更专注于应用。《算法技术手册》提供了高效的代码解决方案,使用多种语言进行编写,让您可以轻松地将其应用于特定的工程当中。通过《算法技术手册》,您可以: · 解决特定代码的问题,或者提升既有解决方案的性能 · 快速找到与您所解决的问题相关的算法,并决定哪个算法才是最适合的那一个 · 探索使用C、C++、Java以及Ruby实现的算法解决方案以及开发小贴士 · 了解算法预期的性能,以及它达到最高性能时所需要的条件 · 发现不同算法之间相似的设计哲学 · 学习高级数据结构,来提升算法的性能 通过《算法技术手册》,您能学到如何提升算法的性能,这将是您的软件应用程序走向成功的关键。
教师回应幼儿
求助
行为的问题及对策研究
摘要 幼儿的
求助
行为是幼儿园比较常见的现象,怎样进行处理,直接影响到幼儿社会性发展。这是由于在
求助
过程中,幼儿可以和被
求助
者,多为教师进行互动,可以使幼儿学会许多解决问题的技巧,最终也就可以促进幼儿社会性的发展。本文选择3岁至6岁幼儿为研究对象,采用观察法,进行探究幼儿在幼儿园里的
求助
行为进行了研究。通过对幼儿
求助
行为的内容、对象、背景、方式和教师回应幼儿
求助
行为这几个部分进行表述,全面进行展示幼...
java/php/python在线
求助
救援网站vue+elementui
本系统前后台的前端通过Vue开发,线上部署将Vue代码构建成合成压缩后的代码到dist目录,将dist目录部署到web服务器上,考虑到前端面向终端用户消费者,需要高并发性,所以使用Nginx做为前端请求后端的均衡负载,Nginx请求到Zuul的API网关[15],Zuul再根据路由规则请求到对应的微服务上,微服务通过Eureka自动注册于发现中心,来进行相互之间的调度。本南天
求助
系统是针对目前南天
求助
的实际需求,从实际工作出发,对过去的南天
求助
系统存在的问题进行分析,完善施助者的使用体会。
springboot留守儿童学习
求助
系统-计算机毕设 附源码35289
留守儿童学习
求助
系统主要功能模块包括系统首页、系统用户管理(管理员、系统用户)、资源管理(新闻列表、新闻分类)、公告管理、模块管理(留言信息、留守儿童、
求助
信息、捐款信息、确认捐出),采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用springboot框架、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。
魅族手机有SOS功能吗?紧急联络
求助
如何设置和开启
魅族手机SOS紧急联络功能即将上线 前段时间的各种网约车安全事件引起了全国人民的高度重视,搞得满城人人自危。人们在指责犯罪嫌疑人的同时,也在努力寻找各种紧急联络和紧急报警方法。为了向用户提供安全保障,小米、OPPO、三星等手机都紧急加入了SOS紧急联络功能。而近日,魅族官方也正式确认,魅族Flyme系统也将于近期上线「SOS紧急
求助
功能」。 推荐阅读:How to Add Emergenc...
C语言
70,020
社区成员
243,264
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章