Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語で文字列を大文字に変換する方法を解説

C言語で文字列を大文字に変換するプログラムを以下に示します。このプログラムでは、ユーザーが入力した文字列を1文字ずつチェックし、小文字のアルファベットを大文字に変換します。

サンプルコード

#include <stdio.h>
#include <string.h>
int main() {
    char s[100];
    int i;
    printf("\nEnter a string : ");
    gets(s);
    for (i = 0; s[i]!='\0'; i++) {
        if(s[i] >= 'a' && s[i] <= 'z') {
            s[i] = s[i] -32;
        }
    }
    printf("\nString in Upper Case = %s", s);
    return 0;
}

実行結果

Enter a string : hello world!
String in Upper Case = HELLO WORLD!

プログラムの解説

文字列を大文字に変換する実際の処理は、main() 関数内に記述されています。まず、ユーザーが入力した文字列を格納するための char 型配列 s[100] を宣言します。

次に、for ループを使って文字列の先頭から終端(NULL文字 '\0')まで1文字ずつ走査します。ループ内の if ブロックでは、その文字が小文字('a' 〜 'z' の範囲)かどうかを判定し、小文字であればASCII値から32を引くことで対応する大文字に変換しています。これは、ASCIIコードでは小文字と大文字が32ずつ離れた位置に配置されているためです。

for (i = 0; s[i]!='\0'; i++) {
    if(s[i] >= 'a' && s[i] <= 'z') {
        s[i] = s[i] -32;
    }
}

より安全な実装について

なお、上記のコードで使用している gets() 関数はバッファオーバーフローの危険があるため、現在では非推奨とされています。実用的なプログラムでは、入力文字数を制限できる fgets() を使うことが推奨されます。

また、ctype.h ヘッダに含まれる標準ライブラリ関数 toupper() を利用すれば、ASCII値を直接操作することなく、より可読性の高いコードで大文字への変換を実現できます。

  1. JavaScriptで文字列を大文字に変換する方法

    JavaScriptで文字列を大文字に変換する方法 JavaScriptを使えば、あらゆるテキストを簡単に大文字へ変換できます。この記事では、文字列を大文字に変換するための基本メソッドと、使用時の注意点についてわかりやすく解説します。 toUpperCase()メソッドの基本的な使い方 文字列を大文字に変換するには、JavaScriptのtoUpperCase()メソッドを使用します。このメソッドを呼び出すだけで、文字列内のすべての英字が大文字に変換されます。 let someText = Here is some text. Let us convert it all to upperca

  2. JavaScriptで文字列を真偽値(Boolean)に変換する方法

    JavaScriptでは、文字列が「true」というリテラルと一致するかどうかを比較演算子で判定することで、文字列を実質的に真偽値(Boolean)として扱うことができます。ここでは、==(緩い等価比較)と===(厳密等価比較)の2つの方法を使った具体例を紹介します。 サンプルコード <!DOCTYPE html> <html> <head> <style>     body {         font-family: &