用B或c语言编写一个代码提取txt文档中的一段特定的文字

本人想用B或者C语言将下列文档转换为以下格式,不知应如何编写。。
源文档:
--------------------------------------------------
消息对象:张三(000001)
--------------------------------------------------
用户号码 000001

昵称

年龄 0

性别

国家/地区

省份

城市

电子邮件

地址

邮编

电话号码

Mirabilis ICQ NO

GSM手机

手机类型

寻呼供应商

寻呼台

寻呼机机型

寻呼机号码

真实姓名

生肖

血型

星座

毕业院校

职业

个人主页

个人说明

--------------------------------------------------
消息对象:李四(10003125)
--------------------------------------------------
用户号码 10003125

昵称 重剑无锋

年龄 20

性别 男

国家/地区

省份

城市

电子邮件

地址

邮编

电话号码

Mirabilis ICQ NO

GSM手机

手机类型

寻呼供应商

寻呼台

寻呼机机型

寻呼机号码

真实姓名

生肖

血型

星座

毕业院校

职业

个人主页

个人说明

--------------------------------------------------
消息对象:网虫(1203521)
--------------------------------------------------
用户号码 1203521

昵称 高山

年龄 21

性别 男

国家/地区

省份

城市

电子邮件

地址

邮编

电话号码

Mirabilis ICQ NO

GSM手机

手机类型

寻呼供应商

寻呼台

寻呼机机型

寻呼机号码

真实姓名

生肖

血型

星座

毕业院校

职业

个人主页

个人说明

--------------------------------------------------
消息对象:爱好者(25652335)
--------------------------------------------------
用户号码 25652335

昵称 一路

年龄 21

性别 男

国家/地区

省份

城市

电子邮件

地址

邮编

电话号码

Mirabilis ICQ NO

GSM手机

手机类型

寻呼供应商

寻呼台

寻呼机机型

寻呼机号码

真实姓名

生肖

血型

星座

毕业院校

职业

个人主页

个人说明

提取后文档:
--------------------------------------------------
消息对象:张三(000001)
--------------------------------------------------

--------------------------------------------------
消息对象:李四(10003125)
--------------------------------------------------

--------------------------------------------------
消息对象:网虫(1203521)
--------------------------------------------------

--------------------------------------------------
消息对象:爱好者(25652335)
--------------------------------------------------

....
..
.
.

不知有谁能给写一个代码。。。
这是从qq的好友管理器中导出的用户信息,但是我不需要这么多内容,我只要姓名和qq号码就行,所以想到到这里求助。。。不知能否解决
刚才的程序好像不能正确提取出来啊。。结果是空的啊。。。

第1个回答  2007-10-23
#include<fstream>
#include<iostream>
#include<string>

using namespace std;

void main()
{
char filename[50];
char temp;
string line;
string subline;
ifstream input;
ofstream output;
cout<<"输入文件名:";
cin>>filename;
input.open(filename);
output.open("result.txt");
while(input!=NULL)
{
temp=input.get();
if(temp!=10)
{
line+=temp;
}else
{
if(line.find("消息对象",0)!=-1)
{
subline=line.substr(10,line.size());
output<<subline<<endl;
}
line.erase(line.begin(),line.end());
}
}
output.close();
input.close();
}

//是用C++写的,所以要用C++的编译器来编译才行本回答被提问者采纳
第2个回答  2007-10-23
我看下
第3个回答  2007-10-23
介四嘛?
相似回答
大家正在搜