【发布时间】:2021-11-30 14:26:47
【问题描述】:
我有一个 char 数组 s[11]="0123456789";,我希望能够获取每个数字 s[i](使用 for 循环)并以某种方式将其转换为 char*(我需要一个 char*,特别是因为我需要在其他字符串上使用 strncat)
在过去的 4 个小时里我一直在尝试这样做,但我无法完成任何事情。
【问题讨论】:
-
执行
s+i以在i位置获得char* -
如果想要字符串中的字符指针,可以使用
&s[i],相当于(s+i)。如果您想将实际字符转换为指针,正如您的帖子所示,您可以使用(char *)s[i],尽管我无法想象这样做的有用目的。 -
请注意,在大多数情况下,指向索引
i处的字符的指针不是指向单个字符串的指针。它是指向s尾部的指针,从该索引开始。这看起来像一个 X-Y 问题。我有理由相信,真正的问题是strncat不是您实际尝试执行的工作的正确工具。 -
如果您告诉我们上下文,例如作业的确切措辞,我们就不必猜测您要达到的目标。
-
您不想“将 char 转换为 char *”。您只是想获取一个字符的地址。