11得票4回答
strcpy_s是如何工作的?

众所周知,strcpy_s是strcpy的安全版本。 但我想知道它是如何工作的... 我们来看几个例子。 strcpy_s的声明: errno_t strcpy_s(_CHAR *_DEST, size_t _SIZE, const _CHAR *_SRC) 例1char dest[5...

40得票4回答
为什么需要使用strcpy()函数?

请问为什么在以下代码片段中需要使用strcpy()函数将字符串赋值给字符数组?int main(void) { char s[4]; s = "abc"; //Fails strcpy(s, "abc"); //Succeeds return 0; } s = "abc"为什么会失败?并...

22得票7回答
将char*转换为unsigned char*

在C语言中,如何正确地将char*复制到unsigned char*?以下是我的代码:int main(int argc, char **argv) { unsigned char *digest; digest = malloc(20 * sizeof(unsigned c...

22得票2回答
memcpy()通常比strcpy()更快吗?

在大多数真实平台上,memcpy()通常比strcpy()快吗?(我假设字符串的大小已知。) 如果我记得i386汇编指令正确,那么有一些loop指令可以复制给定数量的字节或单词。因此,这是最快的方法,而strcpy() i386汇编实现将在简单循环中使用手动检查'\0'。 因此,我认为在x...

15得票4回答
C++中strcpy的替代方法

我在 C 语言中使用了 strcpy 来进行字符串的 深拷贝,但在 C++ 中是否仍然可以使用 strcpy,或者是否有更好的替代方案?

10得票3回答
为什么在C语言中使用strcpy不安全?

我是一个初学者,现在正在学习如何在C语言中复制字符串。 我遇到的问题如下: 每次我尝试使用“strcpy”命令从字符串1复制到字符串2时,Visual Studio 2013都会给出一个错误/警告消息,提示我“strcpy”不安全,并建议我使用strcpy_s代替。 请问为什么使用str...

32得票6回答
当在Unix上启用优化时,strcpy()/strncpy()在具有额外空间的结构成员上崩溃?

当我写项目时,遇到了一个奇怪的问题。 这是我设法编写的最小代码,以重新创建此问题。我故意在其他地方存储实际字符串,并分配了足够的空间。 // #include <stdio.h> #include <stdlib.h> #include <string.h&g...

17得票6回答
使用'malloc'的'strcpy'函数?

像下面这样做是安全的吗?#include <stdio.h> #include <malloc.h> #include <string.h> int main(void) { char* msg; strcpy(msg, "Hello W...

8得票2回答
析构函数中的 delete 导致崩溃

在下面的程序中,我打算通过strcpy将一个对象的char* line内容复制到另一个对象中。然而当程序结束时,obj2的析构函数正常工作,但obj的析构函数会崩溃。gdb显示两个对象的line地址不同。 class MyClass { public: ...

22得票17回答
C strcpy() - 邪恶吗?

有些人似乎认为C语言中的strcpy()函数很糟糕或者很邪恶。虽然我承认通常最好使用strncpy()以避免缓冲区溢出,但是下面这个(针对没有strdup()函数的人实现的strdup()函数)安全地使用了strcpy(),并且永远不会发生溢出:char *strdup(const char ...