请教:给定一个字符串,如何获取其中的指定长度的部分字符串啊?

flowergod 2003-05-21 11:43:47
在线等待!
...全文
129 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
arfi 2003-05-21
  • 打赏
  • 举报
回复
自己写个函数:
//将src中自from开始的长为len的字符串赋到des中,from从1开始计
int GetPartStr(char *src, char *des, int from, int len)
{
int slen = strlen(src);

if(from < 1 || from > slen)
return -1;
if(from+len-1 > slen)
len = slen-from;

for(int i=from-1; i<from-1+len; i++)
*des++ = *(src+i);
*des = '\0';

return 0;
}
snipersu 2003-05-21
  • 打赏
  • 举报
回复
char buffer[20];
char* p="asdfasfd";
如果长度为3,开始距离为2.

int len=3;
int pos=2;
char* q=p+2;
int i=0;
while(i<len)
{
buffer[i]=*q;
i++;q++;
}
shineryu 2003-05-21
  • 打赏
  • 举报
回复
CString str;
str.Mid( int nFirst, int nCount )
//nFirst是起始字符的索引(第一个是0),nCount是指定的长度
晨星 2003-05-21
  • 打赏
  • 举报
回复
string::substr
CString::mid

C语言可借助strncpy函数实现。
如:
char* s1 = "abcdefg";
char s2[8];
strncpy(s2 , &s1[3] , 3);
则s2="def"

idontlikenickname 2003-05-21
  • 打赏
  • 举报
回复
说得清楚点。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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