C++ 截取字符串,抓某特定字符后的字段。

C++截取字符串,抓某特定字符后的字段。a:111222b:222333抓”a:“后面的111222谢谢!固定字段是”a:“,111222会有变动。... C++ 截取字符串,抓某特定字符后的字段。
a:111222
b:222333
抓 ”a:“ 后面的111222

谢谢!
固定字段是”a:“,111222 会有变动。
展开
 我来答
felithuang
2014-07-14 · TA获得超过849个赞
知道小有建树答主
回答量:520
采纳率:50%
帮助的人:724万
展开全部

#include<string.h>
#include<iostream.h>

int mysubstr(const char *str, const char* str0, char str1[])
{
str1[0] = 0;
char* strp = strstr(str, str0);
if (strp == NULL)
{
return 0;
}
strcpy(str1, strp + strlen(str0));
}

int main()
{
char* p = "fdsafdsa a:121321321321312321";
char data[100];
mysubstr(p, "a:", data);

cout<<data<<endl;

return 0;
}
更多追问追答
追问
初始 不知道到a:后面的值,只知道"a:"。

strcpy(str1, strp + strlen(str0));
我是小白 这一句怎么理解 谢谢了。
追答
int mysubstr(const char *str, const char* str0, char str1[])
{
    str1[0] = 0;
    char* strp = strstr(str, str0); // 从字符串str中查找str0(即你要的a:)如果存在,strp就是a:的开始位置
    if (strp == NULL)
    {
        return 0; // 如果没有找到,返回
    }
    strcpy(str1, strp + strlen(str0)); // 这个是字符串复制函数,strp+strlen(str0)就是a:后面的第一个字符的位置,从这个位置开始,复制后面的内容到str1里面。
    
    return 1;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式