c++ - 这是允许的 : memcpy(dest, src, 0)

标签 c++ c

<分区>

0传递给memcpy()是否有问题:

 memcpy(dest, src, 0)

请注意,在我的代码中,我使用的是变量而不是 0,它有时可以评估为 0

最佳答案

正如人们可能对一个理智的界面所期望的那样,零是一个有效的大小,并且不会导致任何事情发生。 C99 7.21.1/2 中各种字符串处理函数(包括 memcpy)的规范特别允许:

Where an argument declared as size_t n specifies the length of the array for a function, n can have the value zero on a call to that function. [...] On such a call, a function that locates a character finds no occurrence, a function that compares two character sequences returns zero, and a function that copies characters copies zero characters.

关于c++ - 这是允许的 : memcpy(dest, src, 0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30506782/

相关文章:

c++ - 删除文件夹和所有文件/子目录

c++ - 模板化 C++ 的等效 C 代码

c++ - Python C头文件解析及逆向初始化

c++ - 通过引用将派生类指针传递给期望基指针的函数

在我的代码中找不到最大值和最小值

c - linux下如何判断scanf的编码?

C++ 格式化输入 : how to 'skip' tokens?

c - Netcat套接字编程

c++ - 使用 g++ 链接到外部库

c - C-文件处理和EOF