c - 尝试使用 memcpy 复制 char 指针,出现错误

标签 c char memcpy

所以我想复制一个 char 指针,问了一个 friend ,他说要使用 memcpy...所以我正在尝试这样做:

charFilenameAndPath=strtok(filename,".");
memcpy=(charFilename,charFilenameAndPath, sizeof(charFilenameAndPath));

编译器吐出这个:

uTrackSpheres.cpp:176: error: assignment of function ‘void* memcpy(void*, const void*, size_t)’
uTrackSpheres.cpp:176: error: cannot convert ‘unsigned int’ to ‘void*(void*, const void*, size_t)throw ()’ in assignment

我也尝试过使用 strlen 而不是 sizeof

最佳答案

在你的第二行:

memcpy=(charFilename,charFilenameAndPath, sizeof(charFilenameAndPath));

有一个虚假的 = 符号。

一旦你解决了这个问题,你的电话无论如何都不正确。 charFilenameAndPathstrtok() 的返回值,所以它必须是 char *。因此,您正在将 sizeof(char *) 字节复制到 charFilename,您可能需要 strlen(charFilenameAndPath)+1 字节(或者您可以使用 strcpy())。在任何情况下,您都应该确保 strtok() 没有返回 NULL 并且 charFilename 有足够的空间。

关于c - 尝试使用 memcpy 复制 char 指针,出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2091507/

相关文章:

C 编程。将字符串 www.as.com 转换为 3www2as3com0

c - char 数组是否需要比您打算使用的大一个字节? - C

c++ - 在C++中将字符串转换为不带空格的字符数组

php - 不支持的操作数类型错误/回车 - PHP

C: 动态分配数组的 memcpy 速度

c++ - std::array 位是否与旧的 C 数组兼容?

c++ - 带有 -fno-builtin 的 GCC 似乎不起作用

android - 由于 java 不正确,无法构建 android

C 编程,在一个函数中进行多次计算

c - 关于 C 中 getchar() 的问题?