【发布时间】:2014-09-26 10:22:28
【问题描述】:
我的问题应该很简单。
我需要给函数一个预定义长度的 char 数组,但我有一个可变长度的字符指针,但不超过我的数组的长度。
代码如下:
#define SIZE_MAX_PERSON_NAME 50
char person[SIZE_MAX_PERSON_NAME];
char* currentPerson = "John";
现在如何让 John 进入 person 数组,同时将数组的其余部分设置为 0 (/NUL)?
这样我就有了
BINARY DATA: "John/NUL/NUL/NUL/NUL/NUL/NUL/NUL/NUL/NUL/NUL/NUL/NUL/NUL/NUL....."
在我的记忆中?
对不起,如果这太愚蠢了,但我现在似乎找不到解决方案。
【问题讨论】:
-
你为什么不用
std::string。 -
使用旧的 C 库
-
重复?使用 strcpy en.cppreference.com/w/c/string/byte/strcpy
-
@user2334932 谁告诉你的,你不能使用
std::string在别处传递const char*参数?听说过std::string::c_str()吗? -
标题说 C,海报说 C,代码看起来像 C 什么给出了 C++ 答案? ;)
标签: c arrays pointers char initialization