smatch what;
const char* str;
char buf[255];
if((strrchr(str, '-')))
{
regex expression("\\w{6}-\\w{6}");//正则表达式
if(regex_search(str, what, expression))
{
for(int i=0;i<what.size();i++)
//printf(" %s\r\n", what[i].str);
cout<<"str: " <<what[i].str()<<endl;//为什么这里换成上面printf那句就不行了了
:: strcpy(buf, what[i].str().c_str());//这里为什么buf最后得到的不是what[i].str()的数据了
}
}
谢谢啦
const char* str;
char buf[255];
if((strrchr(str, '-')))
{
regex expression("\\w{6}-\\w{6}");//正则表达式
if(regex_search(str, what, expression))
{
for(int i=0;i<what.size();i++)
//printf(" %s\r\n", what[i].str);
cout<<"str: " <<what[i].str()<<endl;//为什么这里换成上面printf那句就不行了了
:: strcpy(buf, what[i].str().c_str());//这里为什么buf最后得到的不是what[i].str()的数据了
}
}
谢谢啦
解决方案 »
- wcout<< MAKEINTRESOURCE(111); 这个咋崩溃了
- 急急急D,LL运行完成后返回主程序时出现unhandled exception in dlltest.exe :0xc0000005 access violation
- MFC中如何treeview背景透明
- 读黑白图像时为什么出现0和255之外的数据?高手帮忙解释一下
- 带参数的mfc的应用程序的问题
- ???????????CInternetSession类的OpenUrl的方法可不可以设置超时????????
- 网上报盘功能是怎么实现的?
- 美记者残忍地被塔利班成员肢解了
- ado连接SQLServer是ListBox control不能显示数据库的信息
- 如何编写一个高效的媒体播放器?
- windows中任务就是线程吗?线程有优先级吗?创建线程的时候能设置优先级不,如果没,能用别的办法模拟优先级吗
- 在C++/CLI中绑定端口的问题?
->
printf(" %s\r\n", what[i].str());
printf(" %s\r\n", what[i].str().c_str());
吧,我猜你的str()返回的是string类型的对象
:: strcpy(buf, what[i].str().c_str());//这里为什么buf最后得到的不是what[i].str()的数据了,我该怎么改了
初始化一下
:: strcpy(buf, what[i].str().c_str());
{
//printf(" %s\r\n", what[i].str);
cout<<"str: " <<what[i].str()<<endl;//为什么这里换成上面printf那句就不行了了
:: strcpy(buf, what[i].str().c_str());//这里为什么buf最后得到的不是what[i].str()的数据了
}
-----------
这里你是想把i为多少的what[i].str().c_str()的字符串copy到buf中去呢?
如果for语句不{}后面的两句,for语句执行完成以后i的值为what.size()的,然后再执行
这句:: strcpy(buf, what[i].str().c_str());
what[i]应该就越界了