复制字符串的C++ strcpy
这里有一个短代码,但它不会编译。任何想法出了什么问题?复制字符串的C++ strcpy
char *str;
strcpy(str, "Hello world");
cout << str[6] << ' ' << &str[6] << endl;
您需要为您的字符串分配内存。你应该使用malloc,它将内存分配给你的指针。
更多有关When to use malloc for char pointers
尝试用:
char *str = malloc(sizeof(char) * 1024);
这不会解决编译错误。另外,如果你解释为什么这可能有帮助,这将是有益的。 – juanchopanza
'char str [16]'会更好一点IMO。 –
我试了一下炭海峡[16] ,它仍然提供了相同的错误 严重\t代码\t说明\t项目\t文件\t线\t抑制状态 错误\t C4996 \t“的strcpy”:此函数或变量可能是不安全的。考虑使用strcpy_s代替。要禁用弃用,请使用_CRT_SECURE_NO_WARNINGS。详细信息请参见在线帮助。 –
当你做到这一点,*,其中*确实指针'str'点? –
对不起,它在一个int main()函数中 –
另外,当发布关于构建错误的问题时,请在问题主体中包含完整的未编辑的错误。请尝试创建一个[最小,完整和可验证的示例](http://*.com/help/mcve),在其中标出出现错误的行(例如注释)。最后请[阅读关于如何提出好问题](http://*.com/help/how-to-ask)。 –