[問題] 請問關於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