Linux c開発-共通文字列操作コレクション
2063 ワード
文字列はc言語の開発でよく使われるので、この総括的な文章を書くと、勉強と使用の過程で自分を助けることができます.
1.コピー文字列strcpy
機能:文字列を別の文字列にコピーする
使用法:char*stpcpy(char*destin,char*source);
注意:destinはソースソースソースよりも長い必要があります.そうしないと入れません.
2.文字列接続strcat
機能:文字列結合関数
使用法:char*strcat(char*destin,char*source);
注意:接続された文字列には、接続された文字列を収容するのに十分なスペースがあります.
3.文字列内の文字strchrの検索
機能:指定した文字の最初の一致を1つの列で検索します.
使用法:char*strchr(char*str,char c);
注:ポインタを返します.NULLの場合は見つかりません.
4.文字列比較strcmp
機能:シリアル比較
使用法:int strcmp(char*str 1,char*str 2);
注意:Asicコードを見て、str 1>str 2、戻り値>0;2つの列が等しく、0を返します.
5.文字列長strlen
機能:文字列の長さを計算し、文字列がゼロで終わる長さを計算します.
使用法:int strlen(char*s);
注意:intタイプ、長さを返します
6.交換バイトswab
機能:バイトのスワップ
使用法:void swab(char*from,char*to,int nbytes);
注意:交換時に順番が変わります
1.コピー文字列strcpy
機能:文字列を別の文字列にコピーする
使用法:char*stpcpy(char*destin,char*source);
注意:destinはソースソースソースよりも長い必要があります.そうしないと入れません.
int main(void) {
char x[10];
char *y = "hello";
stpcpy(x, y);
printf("%s
", x);
return EXIT_SUCCESS;
}
2.文字列接続strcat
機能:文字列結合関数
使用法:char*strcat(char*destin,char*source);
注意:接続された文字列には、接続された文字列を収容するのに十分なスペースがあります.
int main(void) {
//
char x[100] = "Test:";
char *y = "woshi";
char *z = "shen";
strcat(x, y);
strcat(x, z);
puts(x);
return EXIT_SUCCESS;
}
3.文字列内の文字strchrの検索
機能:指定した文字の最初の一致を1つの列で検索します.
使用法:char*strchr(char*str,char c);
注:ポインタを返します.NULLの場合は見つかりません.
int main(void) {
//
char *x = "woshixixihaha";
char c = 'w';
char *ptr = strchr(x, c);
if (ptr) {
printf("find it");
} else {
printf("not find it");
}
return EXIT_SUCCESS;
}
4.文字列比較strcmp
機能:シリアル比較
使用法:int strcmp(char*str 1,char*str 2);
注意:Asicコードを見て、str 1>str 2、戻り値>0;2つの列が等しく、0を返します.
int main(void) {
//
char *x = "woshixixihaha";
char *y = "woshixixihaha";
int ptr = strcmp(x, y);
if (ptr == 0) {
printf(" ");
} else {
printf(" ");
}
return EXIT_SUCCESS;
}
5.文字列長strlen
機能:文字列の長さを計算し、文字列がゼロで終わる長さを計算します.
使用法:int strlen(char*s);
注意:intタイプ、長さを返します
int main(void) {
//
char *x = "woshixixihahA";
int len = strlen(x);
printf("Len:%d", len);
return EXIT_SUCCESS;
}
6.交換バイトswab
機能:バイトのスワップ
使用法:void swab(char*from,char*to,int nbytes);
注意:交換時に順番が変わります
int main(void) {
//
char x[5] = "hello";
char y[5] = "";
swab(x, y, strlen(x));
printf("x:%s y:%s", x, y);
return EXIT_SUCCESS;
}