如何将char分配给const char*
how to assign char to const char*
我如何将char分配给c?
中的const char*const char* cp;
unsigned maxlen = 20;
cp = new char[maxlen];
char p = 'U';
cp = p;
我遇到了错误:
Error: invalid conversion from 'char' to 'const char*
如何将char p分配给数组CP的第一个元素?
如何将char p分配给数组CP的第一个元素?
您不能,因为cp
是const char
的指针。const
可防止初始化后的任何突变。
如果您真的想更改cp
的元素,请删除const
:
char* cp;
unsigned maxlen = 20;
cp = new char[maxlen];
char p = 'U';
cp[0] = p;
请注意,以上是可怕的C 。您应该将std::vector
用于动态数组(或固定大小数组的std::array
)。示例:
std::vector<char> cp;
cp.resize(20);
cp[0] = 'U';
您不能以安全的方式这样做,一个更好的想法是:
char * nonConstPtr = new char[len];
*nonConstPtr = 'a';
nonConstPtr[1] = 0;
char const * constPtr = nonConstPtr;
you 可以用您现在拥有的代码的铸件来做到这一点,但是扔掉const-ness通常是一个坏主意(tm):
const char* cp;
unsigned maxlen = 20;
cp = new char[maxlen];
char p = 'U';
char * ptr = (char*)cp;
memset(ptr, 0, maxlen);
*ptr = p;
这是可以接受的还是错误的?
unsigned maxlen = 20;
char *cp;
cp = (char*) malloc(sizeof(char) * maxlen);
char c = 'P';
*cp = c;
我知道缺失了无效的终止。我尝试使用strncpy,但不适用于char。
非常感谢您的建议。
如何将char分配给const char*
const char* cp;
char p = 'U';
cp = &p;
相关文章:
- 在字符串函数中抛出'char const*'实例后调用的终止
- 双重标准?为什么只有 char* const&a = "bla" 的警告?
- 包括"lvtocon.h",未定义对'operator<<(std::ostream&, char const*)的引用
- 为什么 const char* const & = 可以编译"hello"?
- 将字符串文本常量定义为 char const* 和 wchar const*
- 如何将std::wstring转换为char const[]
- "char const * name() const _WEBSOCKETPP_NOEXCEPT_TOKEN_ {"剂量是什么意思
- 使用提升对字符串进行标记化时,将令牌转换为 char* const* 时失败
- 如何从 std::initializer_list<char const* 构建 std::vector<std::string>>
- 将 std::vector<std::string> 转换为 const char* const*
- 引发"char const*"错误的实例后调用的终止
- 将const char * const参数成员分配给新值
- 从'const char**'到'char* const*'的转换无效
- 从 sub_match<常量字符 *>' 转换为'const char *const &'
- char*const和constchar*之间有什么区别?(重复-需要更多澄清)
- 使用工厂方法时编译器错误:无法转换"const std::p air<char* const
- HEVC 解码器端口 Android 警告:从 'signed char*' 到 'char const* 的转换无效*
- 如何从'char const*'中删除常量
- 'char const *str'作为模板参数
- 为什么不;t strlen(.)应为const char*const str,而不是const char*