【发布时间】:2018-07-12 00:54:23
【问题描述】:
我有一个变量,它是一个指向一个常量指针的指针,该指针指向一个常量字符。
char const * const * words;
然后我将单词“dog”添加到该变量中。
words = (char const * const *)"dog";
但是,当我调试代码时,它会说明以下内容:
{0x616d7251 Error reading characters of string.}
我的问题是,我将如何正确访问该变量的字符以记录字符串的每个单独字符。
下面是一些示例代码:
char const * const *words;
words = (char const * const *)"dog";
for (int i = 0; i < 5; ++i)
{
char c = (char)words[i]; // Gives me, -52'i symbol', 'd', and then '\0'
// How do I access the 'o' and 'g'?
}
提前感谢您的帮助。
【问题讨论】:
-
你到底想做什么?
-
std::vector<std::string>> words = { "dog" }; -
@pm100 他的编程同事有没有把他吊死?
-
所以
words指向 1000 个大型 malloc 缓冲区。然后将words分配给点“狗”,并使用错误的演员来实现它。这段代码很破。 -
@manni66 我很遗憾需要使用 char const * const * words 变量。
标签: c++ pointers char constants