难以制作memset功能吗?

时间:2017-04-25 04:26:30

标签: c memset

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++;


    }

}

数组最初是&#34;这是连接的连接源。&#34;

这就是我想要获得的东西&#34; ------这是连接的连接源。&#34;

这就是我目前所获得的内容&#34; -------源连接意味着链接。&#34;

当我运行调试器时,它会保存数组的第一个字母,但是后面的每个字母都会被替换。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

memset()是一个函数,它在给定的内存中设置一个特定的值,就像你想要将整个数组的元素初始化为某个特定值(例如 - 零)。所以它将在该数组中设置相同。

您需要的是strcat()功能。

答案 1 :(得分:0)

这就是你需要的吗?

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;
    }
}