c語言標準庫沒有截取部分字符串的函數,爲啥?由於用現有函數strncpy,很容易作到!數組
char dest[4] = {""}; char src[] = {"123456789"}; strncpy(dest, src, 3); puts(dest);
輸出結果爲 123函數
看到了嗎,strcpy函數中的參數是字符串數組的名字,而數組名本質上是指針,那麼,src+3 就能夠實現將 src中從第4個字符開始複製n個字符給 dest 了spa
char dest[4] = {""}; char src[] = {"123456789"}; strncpy(dest, src+3, 3); dest[4] = '\0'; //n<sizeof(src)時,必須有這一句,否則輸出出錯 puts(dest);
輸出結果爲 456指針
注意:比較兩個char*字符串是否相等,if(strcmp(recData,name) == 0)來判斷。code