c++读取txt文件,读到开头是含有字符“《”的,就删除包含该字符在内的整行,接着继续读下一行。

类似于:abcdefg《abcedcdfurhekd《ddsadfdsd《ddd程序运行后,变成:abcdefgcdfurhekddsd《ddd也就是删除了开头是“《”的... 类似于:
abcdefg
《abced
cdfurhekd
《ddsadf
dsd《ddd

程序运行后,变成:
abcdefg
cdfurhekd
dsd《ddd
也就是删除了开头是“《”的第二行和第四行
形式是这样。因为文本文件非常大,里面有很多类似的开头是某个字符,就要把该行全部删掉跳到下一行的。请大神帮忙解答问题,就用上面这个简短的例子试试。不胜感激!
解决问题的话可以加分,多谢!
展开
 我来答
进击的D丝
2016-12-28 · 超过20用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:18.9万
展开全部
#include <iostream>
#include <sstream>
#include <string>
#include <fstream>
using namespace std;
void r(const char* str){
ifstream file(str);
if (!file.is_open())
{
cout << 0 << endl;
return;
}

string st1;
string ans;
while (getline(file,st1))
{
int flag ;
istringstream ss(st1);
while (ss>>ans)
{
flag = 0;
if( ans[0]>='a'&&ans[0]<='z')
cout << ans;
else { 
flag = 1;
continue; }




}
if (flag==0)
cout << endl;
}

}

int main(){

r("1.txt");


cin.get();
}
更多追问追答
追问
如果是汉字呢?大神~
《终南望余雪》唐 祖咏
终南阴岭秀,积雪浮云端。
林表明霁色,城中增暮寒。
《静夜思》唐 李白
床前明月光,疑是地上霜。
举头望明月,低头思故乡。

修改后变成:
终南阴岭秀,积雪浮云端。
林表明霁色,城中增暮寒。
床前明月光,疑是地上霜。
举头望明月,低头思故乡。

然后把结果输出到文件“2.txt”
感谢大神,可追加100分。
追答
你试试char str[]吧。不知string能不能处理汉字。就读一行。ans[0]是那个框框就跳过。不是就输入文件里
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
驻錊
2016-12-28
知道答主
回答量:26
采纳率:50%
帮助的人:4万
展开全部
必须是C++语言写吗??
追问
您如果用C的话也可以。感谢赐教!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式