【发布时间】:2023-04-11 01:44:01
【问题描述】:
问题是我找不到将 char[ ][ ] arr 的地址复制到字符串的正确方法。是的,我知道一些关于 reinterpret_cast 的事情,但据我谷歌搜索,除了如何计算地址之外,我没有找到任何东西,但对复制一无所知。
更准确地说,我有 char **arr,将其初始化为
Hello
World
现在,我想将第二个单词的第二个字母的地址复制到某个 char[] 字符串。我该怎么做?无论使用我 reinterpet_cast 还是,strcpy 总是抱怨。
这就是我创建数组的方式:
char **arr;
arr = new char*[10];
char buf[100];
int i = 0;
while (gets_s(buf) && strlen(buf)!=0 ) {
*(arr + i) = (char*)malloc(sizeof(buf));
strcpy(*(arr + i), buf);
i++;
}
【问题讨论】:
-
您要复制地址还是字符?
-
啊,不好意思,没看到。我想复制字符的地址。
-
I want to copy [...] address of second letter [...] to some char[] string是什么意思,如果您打印复制地址的字符串,您的预期输出是什么? -
我想将 arr[i][j] 的字节地址复制到 char[ ] 。因此 char[ ] 必须包含“00B86...”。想象一下,我们有整数矩阵,想要获取元素的地址并将其保存在 char [ ]
-
@Tovarisch 你不能将 address 复制到 characters 数组中。只有一个指针可以被分配一个地址。因此,您需要明确说明您要完成的工作,因为您的描述毫无意义