linux下的C,在字符串操作中,如何取得想要的子串?有什么函数吗?

kuc 2002-11-10 04:05:25
比如:"abcdefg",要取得"cde"。
...全文
237 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhynew 2002-11-14
  • 打赏
  • 举报
回复
比如:"abcdefg",要取得"cde"。
int GetSubStr(const char* src, char *dest, const char* szKey)
{
char *pbuff = strstr(src, szKey);
if (pbuff == NULL)
return -1;
strncpy(dest, pbuff,strlen(szKey));
dest[strlen(szKey)] = 0;
return 0;
}
GZCompiler 2002-11-13
  • 打赏
  • 举报
回复
这些函数是C的标准库函数,Linux下也应该可以用。
guyanxiao 2002-11-13
  • 打赏
  • 举报
回复
用strncpy
char t1[20];
char* p = "this is a test";
strncpy(t1,p+6,2);
将is拷贝到t1中
step_by_step 2002-11-12
  • 打赏
  • 举报
回复
strchr()是通过字符来定位
strstr()是通过字符串来定位
他们返回的都是char *
GZCompiler 2002-11-12
  • 打赏
  • 举报
回复
strchr()是定位字符串中的字符,
strstr()是定位字符串中的子串。
这两个函数都有。
GZCompiler 2002-11-11
  • 打赏
  • 举报
回复
strstr()
搜索子串:char* p=strstr("abcdefg","cde");
p指向子串所处位置。
otto_nuaa 2002-11-11
  • 打赏
  • 举报
回复
to:GZCompiler(编译器)
是strchr吧
birth_chen 2002-11-11
  • 打赏
  • 举报
回复
还是使用标准库里的string类,
string s="abcdefg";
string sub=s.substr(2,3);//(位置,长度)
这样sub就是cde了。
jansy 2002-11-10
  • 打赏
  • 举报
回复
char aczInBuf[1024];
char aczOutBuf[1024];

memset(aczOurBuf, 0, sizeof(aczOutBuf) );

strcpy(buf,"这样能不能给50分");
/*i代表你需要的偏移位置,iLen代表你需要的长度*/
sprintf(aczOutBuf,"%*s",iLen,aczInBuf + i);
otto_nuaa 2002-11-10
  • 打赏
  • 举报
回复
char *c = "asdfasdfadfa";
c[3] = 'f';
otto_nuaa 2002-11-10
  • 打赏
  • 举报
回复
strchr(), 在字符串中查找某个字符.
char *strchr(const char *string,int letter)
{
while((*string!=letter)&(*string))
string++;
return (string);
}
kuc 2002-11-10
  • 打赏
  • 举报
回复
误解了,不是要查找,是要取得里面一定长度一定位置的字符串
birth_chen 2002-11-10
  • 打赏
  • 举报
回复
用标准库里的string吧,有很多字串查找的成员函数

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧