[问题] 请问关于char pointer串联问题

楼主: jimmyjean (色仙)   2020-01-26 22:42:22
各位大大新年快乐
问题如下
有两个char pointer
char* x
char* y
长度未知 想请问是否有办法做出第三个char pointer将x与y串在一起?
或是有没有办法从char pointer得知长度?
谢谢
作者: HSUFIT (FireDance)   2020-01-26 23:00:00
如果目标不是string的话没办法算长度,串接的话可以自己写,一个一个复制到新的就好
作者: ko27tye (好滋好滋)   2020-01-27 00:17:00
while(x[count]!='\0') count++; 这样有长度吧
作者: wargods8402 (维尼X维尼)   2020-01-27 10:24:00
小弟愚昧 sizeof能用在这吗?谢谢
作者: sarafciel (Cattuz)   2020-01-27 10:51:00
不能 sizeof是编译期决定 指标指到的大小是执行期决定
作者: dces4212 (flawless)   2020-01-27 12:57:00
sizeof你只会拿到指标占的大小这可以用 realloc 或 malloc 去做,长度就抓 null terminator 来决定
作者: johnjohnlin (嗯?)   2020-01-28 11:17:00
string.h里面有很多函数可以用吧
作者: ando5566 (风云变色)   2020-01-29 08:34:00
strlen
楼主: jimmyjean (色仙)   2020-01-29 12:58:00
感谢各位回复 strlen可以从char指标拿到长度 已解决
作者: LPH66 (-6.2598534e+18f)   2020-01-29 14:08:00
然后这里就要正名一下了, 你在用的不是字符指标而是字串因为你没注意到这差别才会有一楼推文
作者: HSUFIT (FireDance)   2020-02-01 16:16:00
感谢楼上补充,c string和char array是两种不同结构,用指标操作的方式也会不一样另外原po的需求也可以用strcat/strncat做到,cplusplus.com有使用范例可以参考

Links booklink

Contact Us: admin [ a t ] ucptt.com