如char a[10]="abcdefg";char b[10];如何使操作后可以将数组a[10]中的字符"bcd"赋值给b[10]这个数组呢?最后得到b[10]="bcd"不要 b[0]=a[1],b[1]=a[2],b[2]=a[3] 样的谢谢帮忙了
2 回答
HUH函数
TA贡献1836条经验 获得超4个赞
可以自己定义一个函数来完成,举例如下:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
/*本函数将源字符串s中第n个下标开始的m个字符拷入目标t并在最后补'\0'*/
char *myfun(char *t,const char *s,int n,int m){
char *p=t;
if(m){//m为0时特殊处理返回NULL
s+=n;
while(*p++=*s++, --m && *s);
*p='\0';
return t;
}
return NULL;
}
int main(void){//测试一下
char a[10];
char *b="abcdefghi";
printf("%s\n",myfun(a,b,1,3));
return 0;
}
暮色呼如
TA贡献1853条经验 获得超9个赞
在标准库中有函数原型:char* strncpy (char*, const char*, size_t);
使用参考:
char a[10]="abcdefg";
char b[10];
memset(b,'\0',10); //初始化数组
strncpy(b,a+1,3);
printf("%s",b);
- 2 回答
- 0 关注
- 216 浏览
添加回答
举报
0/150
提交
取消