C言語切り取りある場所から長さを指定するサブ文字列メソッド

679 ワード

C言語には、ある場所から長さのサブ文字列を指定する関数はありません(それとも見つけられませんでしたか?)、最初から切り取ったstrncatとstrncpyしかありません.
strncpyを例にとると、
char dest[4] = {""};
char src[] = {"123456789"};
strncpy(dest, src, 3);
puts(dest);

出力結果は123
見ましたか、strcpy関数のパラメータは文字列配列の名前で、配列名は本質的にポインタで、それではsrc+3はsrcの中で4番目の文字からn文字をdestにコピーすることを実現することができます
char dest[4] = {""};
char src[] = {"123456789"};
strncpy(dest, src+3, 3);
dest[4] = '\0';              //n  
puts(dest);

出力結果は456
注意:2つのchar*文字列が等しいかどうかを比較し、if(strcmp(recData,name)==0)で判断します.