C++编程如何提取一个文本文档的指定的某些数据啊? 在线等 谢谢

QQ715615064... QQ 715615064 展开
 我来答
志远823
2011-11-14 · TA获得超过2296个赞
知道小有建树答主
回答量:913
采纳率:66%
帮助的人:1187万
展开全部
我上次给别人的解答的时候,用STL里的TR1写的一个例子,希望对你有用
#include "stdafx.h"
#include "stdio.h"
#include <regex>
#define TR1 std::tr1

void main()
{
/// 读取文件实例代码,你自己修改一下路径.
// std::ifstream file("路径");
// /// 读取文件的内容.
// std::string sFileContent(std::istreambuf_iterator<char>(file.rdbuf()), std::istreambuf_iterator<char>());

/// 为了方便测试,我把你的文件内容直接弄成字符串了.
const std::string sFileContent("\
INPUT(G1gat)\n\
INPUT(G2gat)\n\
INPUT(G3gat)\n\
INPUT(G6gat)\n\
INPUT(G7gat)\n\
OUTPUT(G22gat)\n\
OUTPUT(G23gat)\n\
G10gat = nand(G1gat, G3gat)\n\
G11gat = nand(G3gat, G6gat)\n\
G16gat = nand(G2gat, G11gat)\n\
G19gat = nand(G11gat, G7gat)\n\
G22gat = nand(G10gat, G16gat)\n\
G23gat = nand(G16gat, G19gat)\n\
");
TR1::regex regInput("INPUT\\(G([\\d])gat\\)");
TR1::smatch matchRes;
int nMatchFlag = TR1::regex_constants::match_default;
std::string::const_iterator itBegin, itEnd;
itBegin = sFileContent.begin();
itEnd = sFileContent.end();
while (std::tr1::regex_search(itBegin, itEnd, matchRes, regInput, (TR1::regex_constants::match_flag_type)nMatchFlag))
{
std::cout << "匹配结果: " << matchRes[0] << std::endl;
std::cout << "匹配到的数字: " << matchRes[1] << std::endl;
itBegin = matchRes[0].second;
nMatchFlag = std::tr1::regex_constants::match_prev_avail|std::tr1::regex_constants::match_not_bol;
}
}
追问
可以加你的QQ详细请教一下吗 我的 715615064
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thompson2002
2011-11-14 · TA获得超过176个赞
知道小有建树答主
回答量:307
采纳率:0%
帮助的人:244万
展开全部
CStdioFile txtFile;
txtFile.Open("c:\\1.txt", CFile::modeRead, NULL);
CString s;
while( txtFile.ReadString(&s))
{
if(s.Find("指定的字符串") > -1)
{
//数据处理。。。
break;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式