strcat 函式的用法

2021-09-22 12:29:48 字數 535 閱讀 6105

這幾天的一次程式練習中用到了strcat()函式,但也想到了一些問題。

我們都知道strcat(str,ptr)是將字串ptr內容連線到字串str後,然後得到乙個組合後的字串str,比如

str字串內容為"123456\0",ptr字串為"abc\0",那麼strcat(str,ptr)後str內容為 "123456abc\0",輸出結果為

123456abc這樣看來函式作用是將ptr內容接到了str的終止符\0上,道理很簡單,那麼如果我將str字串內容

更改一下,讓str[1] = '\0',讓字串的第三位變成終止符,str內容變為"1\03456\0",那麼再strcat一次結果為何?

很簡單,輸出str結果為1abc,有人會問,那麼之前的其他的字元呢??事實上此時str內容為"1abc\06\0",但是

printf只會列印到\0結束,所以後面的6就被遺棄了,其實這也很簡單,如果乙個字串內的某個字元被換成了

終止符\0,那麼就當作字串到這結束就好,再進行其他操作。

可能說的不是很清楚,大家當個玩笑看看就好。

strcat 函式的實現

name xif coder xifan2010 yahoo.cn time 08.22.2012 function char my strcat char pstr 1,char pstr 2 char my strcat char pstr 1,char pstr 2 使指標pstr 1指向字串...

實現strcat函式

strcat函式是將兩個字串進行連線。define crt secure no warnings include include include includechar strcat char dest,const char src dest i 0 return dest int main str...

strcat函式的坑點

我們先看下面這樣一段 1 include 2 include 3 using namespace std 45 intmain 6咋一看,這段 的原意是將p2鏈結到p1的後面,p1為123abc。然後將str字元陣列向後移動兩個位置,將p1拷貝到從該位置開始之後的記憶體中。結果為xy123abc 然...