C++でstringオブジェクトを扱う文字

22580 ワード

stringオブジェクトを処理する文字の一般的な方法は、isalnum()です.文字がアルファベットまたは数字であるかどうかを判断します.isalpha():文字がアルファベットかどうかを判断します.iscntrl():文字が制御文字であるか否かを判断する;isdigit():文字が数字であるか否かを判断する;isgraph():文字が印刷可能な非スペース文字であるかどうかを判断します.ispunct():文字が句読点であるか否かを判断する;isspace():文字が空白文字であるか否かを判断する;isupper():文字が大文字かどうかを判断します.isxdigit():文字が16進数であるか否かを判断する;toupper():大文字に変換;tolower():小文字に変換します.例:StringDealChar.cpp:
  01. #include  02. #include  03.  
  04. using
  std::cout; 05. using
  std::endl; 06. using
  std::string; 07.  
  08. int
  main() { 09.      
  10.      string s( "Hello, World!123/n" ); 11.  
  12.      // 13.      string::size_type alnumCount = 0; 14.      // 15.      string::size_type alphaCount = 0; 16.      // 17.      string::size_type cntrlCount = 0; 18.      // 19.      string::size_type digitCount = 0; 20.      // 21.      string::size_type graphCount = 0; 22.      // 23.      string::size_type punctCount = 0; 24.      // 25.      string::size_type spaceCount = 0; 26.      // 27.      string::size_type upperCount = 0; 28.      // 29.      string::size_type xdigitCount = 0; 30.  
  31.      for
  (string::size_type i = 0; i  32.          // 33.          if
  ( isalnum (s[i])) { 34.              alnumCount++; 35.          } 36.          // 37.          if
  ( isalpha (s[i])) { 38.              alphaCount++; 39.          } 40.          // 41.          if
  ( iscntrl (s[i])) { 42.              cntrlCount++; 43.          } 44.          // 45.          if
  ( isdigit (s[i])) { 46.              digitCount++; 47.          } 48.          // 49.          if
  ( isgraph (s[i])) { 50.              graphCount++; 51.          } 52.          // 53.          if
  (ispunct(s[i])) { 54.              punctCount++; 55.          } 56.          // 57.          if
  ( isspace (s[i])) { 58.              spaceCount++; 59.          } 60.          // 61.          if
  ( isupper (s[i])) { 62.              upperCount++; 63.          } 64.          // 65.          if
  ( isxdigit (s[i])) { 66.              xdigitCount++; 67.          } 68.      } 69.  
  70.      cout < 71.      cout < "alnumCount: "
  < 72.      cout < "alphaCount: "
  < 73.      cout < "cntrlCount: "
  < 74.      cout < "digitCount: "
  < 75.      cout < "graphCount: "
  < 76.      cout < "punctCount: "
  < 77.      cout < "spaceCount: "
  < 78.      cout < "upperCount: "
  < 79.      cout < "xdigitCount: "
  < 80.  
  81.      // 82.      for
  (string::size_type i = 0; i  83.          s[i] =  toupper (s[i]); 84.      } 85.      cout < 86.  
  87.  
  88.      // 89.      for
  (string::size_type i = 0; i  90.          s[i] =  tolower (s[i]); 91.      } 92.      cout < 93.  
  94.  
  95.      system ( "pause" ); 96.      return
  0; 97. }