相关疑难解决方法(0)

strncpy和memcpy之间的区别?

我如何才能获得s[7]s

我没有发现strncpy和之间的任何区别memcpy.如果我想打印输出s,以及s[7](像qwertyA),我必须在以下代码中进行哪些更改:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    char s[10] = "qwerty", str[10], str1[10];
    s[7] = 'A';
    printf("%s\n",s);
    strncpy(str,s,8);
    printf("%s\n",str);
    memcpy(str1,s,8);
    printf("%s\n",str1);
    return 0;
}
/*
O/P
qwerty
qwerty
qwerty
*/
Run Code Online (Sandbox Code Playgroud)

c memcpy strncpy

18
推荐指数
2
解决办法
3万
查看次数

strncpy()是memcpy()的特化吗?

只是好奇地知道(因为我们经常使用这些功能).我没有看到strncpy()memcpy()之间有任何实际区别.有效地说,不值得

char* strncpy (char *dst, const char *src, size_t size)
{
  return (char*)memcpy(dst, src, size);
}
Run Code Online (Sandbox Code Playgroud)

或者我错过任何副作用?有一个类似的早期问题,但找不到确切的答案.

c c++ standard-library

1
推荐指数
1
解决办法
1615
查看次数

标签 统计

c ×2

c++ ×1

memcpy ×1

standard-library ×1

strncpy ×1