
C++ 截取字符串,抓某特定字符后的字段。
C++截取字符串,抓某特定字符后的字段。a:111222b:222333抓”a:“后面的111222谢谢!固定字段是”a:“,111222会有变动。...
C++ 截取字符串,抓某特定字符后的字段。
a:111222
b:222333
抓 ”a:“ 后面的111222
谢谢!
固定字段是”a:“,111222 会有变动。 展开
a:111222
b:222333
抓 ”a:“ 后面的111222
谢谢!
固定字段是”a:“,111222 会有变动。 展开
展开全部
#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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询