アフィリエイト広告を利用しています

広告

posted by fanblog

2018年03月11日

《その329》 文字の判別・変換


 文字の判別・変換 <cctype>ヘッダ

 数字文字の判別
 int isdigit(int c);
  数字文字であれば 非0、それ以外ならば 0 を返します。

 英文字の判別
 int isalpha(int c);
  英文字であれば 非0、それ以外ならば 0 を返します。

 小文字の判別
 int islower(int c);
  小文字であれば 非0、それ以外ならば 0 を返します。

 大文字の判別
 int isupper(int c);
  大文字であれば 非0、それ以外ならば 0 を返します。

 小文字への変換
 int tolower(int c);
  大文字を受け取った場合は小文字に変換した値を返却。
  小文字を受け取った場合は受け取った文字をそのまま返却。
  返却値は char型ではなく int型なので、場合によってはキャストが必要です。

 大文字への変換
 int toupper(int c);
  小文字を受け取った場合は大文字に変換した値を返却。
  大文字を受け取った場合は受け取った文字をそのまま返却。
  返却値は char型ではなく int型なので、場合によってはキャストが必要です。


#include <cctype>
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;

struct d {
char operator()(char c) {
cout << "文字 " << c << "は、";
if (isdigit(c)) {
cout << "数字文字です。\n";
return c;
}

else if (isalpha(c) && islower(c)) {
cout << "英小文字です。大文字は "
<< (char)toupper(c)
<< " です。\n";
return toupper(c);
}

else if (isalpha(c) && isupper(c)) {
cout << "英大文字です。小文字は "
<< (char)tolower(c)
<< " です。\n";
return tolower(c);
}
else {
cout << "その他です。\n";
return c;
}
}
};


int main() {
string str0("Ab%1yZ");
string str1(str0);

cout << str0 << " についての情報\n\n";
transform(
str0.begin(),
str0.end(),
str1.begin(),
d()
);

cout << "\n英大文字/小文字 の反転結果\n"
<< str1 << '\n';
}

h11_0063.png



この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/7420598
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック

 たまに、クリック お願いします m(_ _)m

 AA にほんブログ村 IT技術ブログ C/C++へ

こうすけ:メール kousuke_cpp@outlook.jp

【1】★★C++ 記事目次★★ ← 利用可能です。
・新版明解C++入門編 / 新版明解C++中級編
・その他 C++ 関連記事

【2】★★こうすけ@C#★★
・C# の初歩的な記事


検索
<< 2018年08月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
プロフィール
こうすけさんの画像
こうすけ

 たまに、クリック お願いします m(_ _)m

 AA にほんブログ村 IT技術ブログ C/C++へ

こうすけ:メール kousuke_cpp@outlook.jp

【1】★★C++ 記事目次★★ ← 利用可能です。
・新版明解C++入門編 / 新版明解C++中級編
・その他 C++ 関連記事

【2】★★こうすけ@C#★★
・C# の初歩的な記事


×

この広告は30日以上新しい記事の更新がないブログに表示されております。