如果我有一个 char数组,例如: char arr [32];
稍后是否可以在不同功能中使用 arr [0:5] =“ 00000” 和 arr [26:31] =“ 00000 “
如果没有,以后如何将字符串的不同部分插入char数组?
如果我有一个 char数组,例如: char arr [32];
稍后是否可以在不同功能中使用 arr [0:5] =“ 00000” 和 arr [26:31] =“ 00000 “
如果没有,以后如何将字符串的不同部分插入char数组?
您可以将memcpy用于此类目的
int offset=5;
const char * str="000";
memcpy(arr+offset,str,strlen(str));
,
您可以使用memcpy:
char arr[35];
memcpy(&arr[0],"00000",5);
memcpy(&arr[30],5);
,
您可以编写一个单独的函数来执行任务。
这是一个演示程序。
#include <stdio.h>
#include <string.h>
char * insert( char *dsn,size_t pos,size_t n,const char *src )
{
memcpy( dsn + pos,src,n );
return dsn;
}
int main(void)
{
enum { N = 32 };
char s[N] = "";
const char *s1 = "AAAAA";
const char *s2 = "BBBBB";
puts( insert( s,5,s1 ) + 0 );
puts( insert( s,26,s2 ) + 26 );
return 0;
}
其输出为
AAAAA
BBBBB