您的位置:首页 > 编程语言 > C语言/C++

C++读取txt文档内容并截取相应的字符串

2013-08-16 12:08 435 查看
简介:

在D盘下有一个txt的文档,里面有如下内容

包含,优惠包,回复固定内容,Y,3,1879812;

包含,优惠包2,回复固定内容4,N,2,187981223;

包含,优惠包,回复固定内容,Y,3,1879812;

包含,优惠包2,回复固定内容4,N,2,187981223;

包含,优惠包,回复固定内容,Y,3,1879812;

包含,优惠包2,回复固定内容4,N,2,187981223;

包含,优惠包,回复固定内容,Y,3,1879812;

包含,优惠包2,回复固定内容4,N,2,187981223;

包含,优惠包,回复固定内容,Y,3,1879812;

包含,优惠包2,回复固定内容4,N,2,187981223;

我通过C++读取每一条记录,然后用“,”隔开不同的内容。最后将每一条记录拆分,把每一小部分存放到相应变量中,最后存到数据库,或者让它显示在List Control的对应字段中去。以下是具体代码。

#include "stdafx.h"

#include <iostream>

#include <fstream>

#include<string>

#include <vector>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

vector<string> v;

fstream is("D://1.txt");

string s,s1,s2,s3,s4,s5,s6;

while(getline(is,s))

v.push_back(s);

for (int i=0;i<v.size();i++)

{

cout<<v[i]<<"\n";

char *tem=(char*)v[i].c_str();

char *tokenPtr=strtok(tem,",");

int k=0;

while(tokenPtr!=NULL)

{

++k;

switch (k)

{

case 1:

s1=tokenPtr;

break;

case 2:

s2=tokenPtr;

break;

case 3:

s3=tokenPtr;

break;

case 4:

s4=tokenPtr;

break;

case 5:

s5=tokenPtr;

break;

case 6:

string tem=tokenPtr;

s6=tem.erase(tem.length()-1,tem.length());

break;

}

tokenPtr=strtok(NULL,",");

}

cout<<s1<<"\n"<<s2<<"\n"<<s3<<"\n"<<s4<<"\n"<<s5<<"\n"<<s6<<"\n";

}

return 0;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: