C char数组在不同阶段使用函数插入字符

如果我有一个 char数组,例如: char arr [32];

稍后是否可以在不同功能中使用 arr [0:5] =“ 00000” arr [26:31] =“ 00000 “

如果没有,以后如何将字符串的不同部分插入char数组?

prince1594 回答:C 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
本文链接:https://www.f2er.com/3059784.html

大家都在问