c - 如何使用指针将一个变量的内容复制到另一个变量?

标签 c pointers char

char *foo(char *dest, const char *src)
{
    unsigned i;
    for (i=0; src[i] != '\0'; ++i)
        dest[i] = src[i];
    dest[i] = '\0';
    return dest;

}

我知道代码正在遍历两个变量的数组,并且在这样做的同时,它使 dest[] 具有与 src[] 相同的字符

我怎样才能用指针来做到这一点?

最佳答案

简单

while (*src != '\0')
    *dst++ = *src++;
*dst = '\0'; // Perhaps you will also need this!

请记住,在循环结束时,dst 指向数组的结尾而不是开头。还要复制 '\0' 终止符,还是不想?

关于c - 如何使用指针将一个变量的内容复制到另一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35212191/

相关文章:

c - C 中的嵌套结构和指针

c - base64在中间停止解码

c - 应该相同但会发生变化的值

c++ - 如何理解*(void **)(&m_handle)= dlsym (“./haldle_lib.so”, “custom_func”);

pointers - Golang 中的指针接收器和值接收器这两个术语是什么意思?

C fscanf - 格式化输入

c - 从文件中精确打印和扫描 (C)

c++ - unsigned char 值类型的 basic_string

c - 如何在 C 中释放 malloc 的二维数组?

c - UART 缓冲区未在 PIC24F 上引发标志