文字列を大文字化・小文字化する | Programming Place Plus C言語編 逆引き

トップページC言語編逆引き

このページの概要

以下は目次です。

目的

大文字や小文字のアルファベットが混在した文字列について、 大文字や小文字に統一したいとします。 当然、アルファベット以外の文字が変化してはいけません。

方法①(toupper関数や tolower関数を使う)

C言語の標準ライブラリには、文字を大文字化する toupper関数や、小文字化する tolower関数があります(ワイド文字の場合は、towupper関数towlower関数があります)。

ただし、これらの関数は、1文字だけが対象であるため、文字列全体に適用するためには、 1文字ずつ適用していく必要があります。
次のサンプルプログラムは、文字列を大文字化しています。

#include <stdio.h>
#include <ctype.h>

char* toupper_str(char* s)
{
    for (char* p = s; *p != '\0'; ++p) {
        *p = toupper(*p);
    }
    return s;
}

int main(void)
{
    char s[] = "aB3Cde_fG";

    puts(toupper_str(s));
}

実行結果:

AB3CDE_FG


参考リンク


更新履歴

’2018/4/22 解説中で C95 を(C89 に対して)特別扱いしないように修正。そもそもC言語編は C95ベースなので、余計な説明は省く。

’2017/6/5 新規作成。



逆引きのトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る