制作memset函数有困难吗? void memSet(char destination[],char valueMemSet,int numOfValue) { 焦炭温度; int j=1; for(int i=0;i

制作memset函数有困难吗? void memSet(char destination[],char valueMemSet,int numOfValue) { 焦炭温度; int j=1; for(int i=0;i,c,memset,C,Memset,memset()是一个函数,它在给定的内存中设置一个特定的值,就像您希望将total数组的元素初始化为某个特定的值(例如-zero)。因此它将在该数组中设置相同的值 这里您需要的是strcat()函数。这就是您需要的吗 void memSet(char destination[], char valueMemSet, int numOfValue) { char temp; int j=1; for (int i = 0; i <= numOfValue; i+

memset()
是一个函数,它在给定的内存中设置一个特定的值,就像您希望将total数组的元素初始化为某个特定的值(例如-zero)。因此它将在该数组中设置相同的值

这里您需要的是strcat()函数。

这就是您需要的吗

void memSet(char destination[], char valueMemSet, int numOfValue)
{

    char temp;
    int j=1;

    for (int i = 0; i <= numOfValue; i++)
    {

        temp = destination[i];
        destination[i] = valueMemSet;
        destination[j] = temp;
        j++;


    }

}
void memSet(char destination[],char valueMemSet,int numovalue,int len)
{
int j=len数值;
对于(inti=len-1;i>=numovalue;i--){
目的地[i]=目的地[j--];
}
for(int i=0;i
你知道实际的
memset()
不做串联吗?为什么让人困惑?我不是想做串联。这正是它在数组中所说的。我正在尝试制作我自己的memset函数,它只在前面添加了6'.'。你的
@SouravGhosh很抱歉,我不得不为memset()打开一个标签页另一个是strcat()和think memset()都做了这两件事。我再一次对此感到抱歉。代码中的一些问题:您无法从前端“移动”现有数据,因为当您将数据放在新位置时,您将销毁其中的数据(尚未移动)。您需要从末尾开始移动现有数据。您还需要确保
destination
有足够的内存来容纳正在增长的数据。我敢打赌它没有。正如@SouravGhosh提到的,您应该将此函数命名为
memset()
strcat()
因为这些名字已经有了一个共同的含义,而这个含义与您要做的不同。
void memSet(char destination[], char valueMemSet, int numOfValue, int len)
{
    int j=len-numOfValue;

    for (int i = len-1;i>=numOfValue;i--) { 
         destinstion[i] = destination[j--];
    }

    for (int i = 0; i < numOfValue; i++)
    {
        destination[i] = valueMemSet;
    }
}