[C言語]string.hヘッダファイル

3133 ワード

新学のc言語ヘッダファイル~整理したほうがいいです.
string.hヘッダファイルは、c言語文字列を処理できるヘッダファイルである.
  • strlen
  • 文字列の長さを決定
    戻り:int type
  • char fruits[10][20] = { "apple", "banana", "peach", "orange", "grape" };
    
    printf("%d\n", strlen(fruits));
    strlenは、文字列の末尾の文字("0")に遭遇した前に文字の個数を数え終わった後に停止します.
    上記のコードを実行すると、[a]、[p]、[p]、[l]、[e]、[0]の文字が空になり、
    出力5.
  • strcpy
  • コピー

  • 戻り値:ソース文字列の開始アドレス
  • char fruits[10][20] = { "apple", "banana", "peach", "orange", "grape" };
    char fruits_copy[10][20];
    strcpy(fruits_copy, fruits);
    printf("%s", fruits_copy);
    すべてのコピーはなく、最初の行のappleだけがコピーされました.
    同様にstrcpy関数も空の文字("0")にコピーされます.
    したがって、appleにコピーするしかありません.
    すべての文字列をコピーするには、次の方法を使用します.
    char fruits[10][20] = { "apple", "banana", "peach", "orange", "grape" };
    char fruits_copy[10][20];
    int fruits_len = sizeof(fruits) / sizeof(fruits[0]);
    for (int i = 0; i < fruits_len; i++) {
    	strcpy(fruits_copy[i], fruits[i]);
    	printf("%s\n", fruits_copy[i]);
    }
  • strcmp(s1, s2)
  • 文字列をアルファベット順に比較して結果を返します.
    戻り:s 1=s 2->0
    s1 > s2 -> 1
    s1 < s2 -> -1
  • char fruits[10][20] = { "apple", "banana", "peach", "orange", "grape" };
    char fruits2[10][20] = { "apple", "banano", "peaci", "so", "grape" };
    
    printf("%d", strcmp(fruits2[0], fruits[0]));

    フルーツ[0]の「apple0」は、フルーツ2[0]の「apple0」と同じであるため、0が出力される.
    以下に、すべての文字列を比較するコードを示します.
    char fruits[10][20] = { "apple", "banana", "peach", "orange", "grape" };
    char fruits2[10][20] = { "apple", "banano", "peaci", "so", "grape" };
    int fruits_len = sizeof(fruits) / sizeof(fruits[0]);
    for (int i = 0; i < fruits_len; i++) {
    	printf("%d\n", strcmp(fruits2[i], fruits[i]));
    }

    果物[1]では「バナナ」と果物[1]の「バナナ」の例を挙げる.
    strcmp(fruits2[1], fruits[1])
    (「banano」,「banana」)の他のアルファベット「o」と「a」
    「o」(111)は「a」(97)より大きいアスキーコードであるため、1を返す.
    strcmp(前文字列、後文字列)
    前の文字列と後の文字列を比較する場合
    異なる文字が表示された場合、アスキーコードを比較して返します.
    前の文字列の文字のAskyコードが大きい場合は、1を選択します.
    前の文字列の文字のAskyコードが小さい場合は、-1を返します.
  • strcat(s1,s2)
  • 2つの文字列の組み合わせ:

  • 戻り値:ソース文字列の開始アドレス
  • char fruit[20] = {"apple"};
    char add_fruit[10] = {"banana"};
    
    printf("%s", strcat(fruit, add_fruit));
    s 1文字列には、s 1とs 2が結合した文字列が含まれます.

    二次元配列も合わせたいのですが、難しすぎます.