このページの解説は C99 をベースとしています。
以下は目次です。
大文字や小文字のアルファベットが混在した文字列について、 大文字や小文字に統一したいとします。 当然、アルファベット以外の文字が変化してはいけません。
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";
(toupper_str(s));
puts}
実行結果:
AB3CDE_FG
return 0;
を削除(C言語編全体でのコードの統一)解説中で C95 を(C89 に対して)特別扱いしないように修正。そもそもC言語編は C95ベースなので、余計な説明は省く。
新規作成。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |