字串操作

2022-07-29 11:21:08 字數 829 閱讀 9998

字串操作

複製字串(strcpy / strcnpy / sprintf )

1. char * strcpy ( char * destination, const char * source );

最常用,但不安全。

要保證  1. destination有足夠的空間; 2. source和destination指向的空間沒有overlap。

2. int sprintf ( char * str, const char * format, ... );

用於字串拷貝時,可視為 sprintf(dest, "%s", src);

要保證dest有足夠的記憶體存放src。

3. char * strncpy ( char * destination, const char * source,size_t num);

比strcpy,多了長度的控制。從source拷貝num個字元到destination。如source裡不夠num字元會補充0。如:

char buf[1024] = ;

char str[16] = "

hello";

strncpy(buf, sizefo(buf), str);

一行**執行時是往buf寫了sizeof(buf) = 1024個位元組,而不是strlen(str) + 1 = 6個字元。         

呼叫strncpy(dest, n, str)時,函式首先將字元從源緩衝區str逐個複製到目標緩衝區dest,直到拷貝了n碰上\0。

緊接著,strncpy函式會往buf填充\0字元直到寫滿n個字元。

字串操作 靠字串分割字串

字串分解函式。注意strtok比較複雜。要妥善運用!也可以不用strtok函式,但要實現字串靠字串分割比較困難!注意str指向的空間必須是可讀可寫的 如陣列或動態分配的空間 不能為字串常量的指標,因為strtok改變了其中的內容。include include 功能 將str中的字串按照elemon...

字串操作

字串操作 要了解字串操作首先要了解什麼是字串。前面已經提過,字串是乙個由零個或者多個字元組成的有限序列,既然是有限的那麼也就意味著字串存在乙個起始位置和乙個結束位置。我們以指定起始位置的方式來通知程式從該位置起向後的一段記憶體空間的內容應該解釋為字串。那麼這個字串在什麼地方結束呢?規定當遇到字元 0...

字串操作

include using namespace std int strlength char str char strcopy char str1,char str2 char strlink char str1,char str2 int main char strcopy char str1,c...