C++常用文字列関数使用整理

3138 ワード

strlen(文字配列)
  • 機能:文字列の長さを求めます.
  • は、この関数の実パラメータが文字配列名であってもよいし、文字列であってもよいことを示す.
  • 使用例:
  • char s1[80] = "China";
    
    cout<
  • の結果は、1つの漢字に2バイトあるためstrlen(「大学生」)の結果は6であることを示している.

  • strcpy(文字配列1、文字配列2)
  • 機能:文字配列2の文字列を文字配列1の
  • にコピーする.
  • 説明:(1)文字配列1の長さは文字配列2の長さ以上でなければならない.(2)コピー時に文字列の後ろの'0'とともに文字配列1にコピーする.(3)文字列定数または文字配列を1つの文字配列に直接付与することはできない.(4)文字配列のコピーはstrcpy関数でのみ処理できます.1つの付与文で1つの文字を1つの文字型変数または文字型配列要素に割り当てることができます.ただし、定義時に初期化できます.
  • 次のようになります.
    str1 ={''Good"};    //   
    
    str1 = str2;      //   
    
    char a[5],c1,c2;
    
    c1 = 'A'; c2 = 'B';    //  
    
    c[0] = 'C';       //  
    
    char g[20] = "aaaa''    //  
    
    
  • 使用例:
  • 
    `char a[20]="aaaaaa",b[20]="bbb";`
    `strcpy(a,b);`
    `cout<
  • の結果は、配列bの値が配列aの値を上書きするので、結果は「bbb」であることを示している.

  • strcat(文字配列1、文字配列2)
  • 機能:文字配列2の文字列を文字配列1の文字列の後ろに接続し、文字配列2の内容に影響を与えない.
  • は、この関数の2番目のパラメータが文字列定数であってもよいことを示す.
  • 使用例:
  • 
    char s1[20] = "one", s2 = "two", s3[20] = "three";
    
    strcat(s1,s2);
    
    strcat(s1,s3);
    
    
  • 結果説明:サンプルを実行すると、配列s 1の文字列は「onetwothree」であり、配列s 2とs 3の文字列は変化しなかった.
  • strcmp(文字配列1,文字配列2)
  • 機能:2つの文字列が等しいかどうかを比較します.
  • 説明:(1)2つの文字列の文字が同じである場合、2つの文字列は等しく、関数の戻り値は0である.(2)2つの文字列が異なる場合、左から右に表示される最初の異なる文字の比較結果を2つの文字列の比較結果とします.最初の文字列が2番目の文字列より大きい場合、戻り値は1です.最初の文字列が2番目の文字列より小さい場合、戻り値は-1です.(3)この比較は、文字のASCII符号値の大きさで比較される.
  • 使用例:
  • 
    strcmp("Student","Student");      //     0
    
    strcmp("student","Student");      //     1
    
    strcmp("Student","student");      //     -1
    
    int a=strcmp("stude","student");
    
    
  • の結果は、第1の文字列が比較された後、第2の文字列に文字がある場合、第1の文字列が第2の文字列より小さい場合、aの値は−1であることを示している.

  • strlwr(文字配列)
  • 機能:文字配列に格納されているすべての大文字を小文字に変更し、他の文字は変更されません.
  • 使用例:
  • 
    char s1[ ] = "Student1";
    
    strlwr (s1);
    
    
  • 結果説明:s 1配列の文字列をすべて小文字、すなわち「student 1」に変更します.
  • strupr(文字配列)
  • 機能:文字配列に格納されているすべての小文字を大文字に変更し、他の文字は変更されません.
  • 使用例:
  • 
    char s1[ ] = "Student2";
    
    strupr (s1);
    
    
  • 結果説明:s 1配列の文字列をすべて小文字にする、すなわち「STUDENT 2」.
  • strncpy(文字配列1、文字配列2、len)
  • 機能:文字配列2の前len文字を文字配列1の前len文字空間にコピーします.
  • では、(1)2番目のパラメータは配列名であってもよいし、文字列であってもよいし、3番目のパラメータは正の整数であってもよい.(2)文字配列2で表される文字列の長さがlenより小さい場合、その文字列はすべて1番目のパラメータで指定された配列にコピーされる.
  • 使用例:
  • 
    char s1[ 80] = "aaaaaa", s2[80];
    
    strncpy(s1,"student", 4);
    
    strncpy(s2,"teacher",10);
    
    
  • の結果は、このサンプルを実行した後、s 1は「studaa」であることを示している.文字列「teacher」の長さが10未満の場合、そのすべての文字をs 2にコピーし、s 2の内容は「teacher」である.

  • strncmp(文字配列1、文字配列2、len)
  • 機能:2つの文字配列で表される文字列の前len文字を比較します.
  • 説明:(1)最初の2つのパラメータはいずれも文字配列または文字列であり、3番目のパラメータは正の整数である.(2)最初の文字列または2番目の文字列の長さがlenより小さい場合、strcmp()と同じ機能である.(3)両方の文字列の長さがlenより大きい場合、lenは比較する文字の最大数です.
  • 使用例:cout<
  • の結果は、比較された2つの文字列の最初の4文字が同じであるため、出力された値は0であることを示している.