高分求字符串程序-文件

有这么几百页这样的数据.

do_pre/FGDYEO-4341596_OH.XLS 
226 0 0 239 47 -2011-02-16 06:10:51 192.168.0.254 whsfs ITDEPT 192.168.0.4 21 [276]created /prod/
o_pre/FGDYEO-4341596_OD.XLS
226 0 0 5812 2187 -2011-02-16 06:10:51 192.168.0.254 whsfs ITDEPT 192.168.0.4 21 [276]created /prod/
do_pre/FGDYEO-4341606_OH.XLS 
226 0 0 239 62 -
2011-02-16 06:10:51 192.168.0.254 whsfs ITDEPT 192.168.0.4 21 [276]created /prod/
do_pre/FGDYEO-4341606_OD.XLS 
226 0 0 11432 313 -
2011-02-16 06:14:41 192.168.0.254 whsfs ITDEPT 192.168.0.4 21 [277]USER whsfs 331 0 0 0 0 -
2011-02-16 06:14:41 192.168.0.254 whsfs ITDEPT 192.168.0.4 21 [277]PASS - 230 0 0 0 0 -
2011-02-16 06:14:44 192.168.0.254 whsfs ITDEPT 192.168.0.4 21 [277]CWD /prod/recv_pre 
....
我需要这样的数据。以
do_pre开头,XLS结尾,
或者
recv_pre开头,.XLS结尾的为数据。
数据存储在.txt文件中.

比如
/prod/recv_pre/FGDYEI-4342407_ID.XLS
 /prod/recv_pre/FGDYEI-4342406_IH.XLS 
/prod/recv_pre/FGDYEI-4342406_ID.XLS 
/prod/recv_pre/FGDYEI-4342405_IH.XLS 
/prod/do_pre/FGDYEO-4342527_OD.XLS 
/prod/do_pre/FGDYEO-4342528_OH.XLS 
/prod/do_pre/FGDYEO-4342528_OD.XLS 
能再分类最好。比如
/recv_pre/
FGDYEI-4342968_IH.XLS  
FGDYEI-4342968_ID.XLS 
FGDYEI-4342967_IH.XLS 
/do_pre/
FGDYEO-4342974_OH.XLS 
   
do_pre/FGDYEO-4341596_OH.XLS 
或者
recv_pre/FGDYEI-4342968_IH.XLS 

#include <fstream>
#include <iostream>

#include <vector>
#include <afx.h>
using namespace std;

typedef std::vector <CString> do_pre1;
;
typedef std::vector <CString> recv_pre2;

do_pre1::iterator i_do_pre;
recv_pre2::iterator i_recv_pre;

recv_pre2 recv_pre;

vector <CString> do_pre;
int main(int argc,char* argv[])
{

char buff1[300];
fstream fff("txt.txt",ios::out|ios::in);

CString strB;
int ib1=-1;
int ib2=-1;
int ie1=-1;
while(!fff.eof())
{
fff.getline(buff1,299);
strB = buff1;

ib1 = strB.Find("do_pre");
ib2 = strB.Find("recv_pre");
ie1 = strB.Find(".XLS");

if(ib1 != -1  && ie1 != -1 && ib1 < ie1 )
{
do_pre.push_back(buff1);
}

if( ib2 != -1 && ie1 != -1 && ib2 < ie1)

recv_pre.push_back(strB);
}
ib1=-1;
ib2=-1;
ie1=-1;
}
if(do_pre.size()!=0)
{
i_do_pre = do_pre.begin();
cout < < "-------do_pre-------" < < endl;
while(i_do_pre != do_pre.end())
{
cout < < (LPCTSTR)*i_do_pre < < endl;
i_do_pre++;
}
cout < < "-------do_pre-------" < < endl;
}

cout < < endl;
if(recv_pre.size() != 0)
{
cout < < "-------recv_pre-------" < < endl;
i_recv_pre = recv_pre.begin();
while(i_recv_pre != recv_pre.end())
{
cout < < (LPCTSTR)*i_recv_pre < < endl;
i_recv_pre++;
}
cout < < "-------recv_pre-------" < < endl;
}


cout < < endl;
return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值