C++で文字列の長さを求める方法:基本テクニックとstrlen()関数の使い方
C++における文字列とは、ヌル文字('\0')で終端される1次元の文字配列のことです。文字列の長さとは、このヌル文字より前に存在する文字数を指します。
例えば、次のような文字列を考えてみましょう。
char str[] = "The sky is blue"; 上記の文字列に含まれる文字数 = 15
それでは、文字列の長さを求めるプログラムを見ていきましょう。
例1:whileループを使って文字数をカウントする方法
#include<iostream>
using namespace std;
int main() {
char str[] = "Apple";
int count = 0;
while (str[count] != '\0')
count++;
cout<<"The string is "<<str<<endl;
cout <<"The length of the string is "<<count<<endl;
return 0;
}出力
The string is Apple The length of the string is 5
プログラムの仕組み
このプログラムでは、whileループの中でcount変数を1ずつ増加させながら、文字列の末尾にあるヌル文字('\0')に到達するまで処理を繰り返します。ループが終了した時点で、count変数には文字列の長さが格納されています。該当する部分のコードは以下の通りです。
while (str[count] != '\0') count++;
文字列の長さが求まったら、それを画面に出力して表示します。表示部分のコードは次のようになっています。
cout<<"The string is "<<str<<endl; cout<<"The length of the string is "<<count<<endl;
例2:strlen()関数を使う方法
文字列の長さは、標準ライブラリが提供するstrlen()関数を使っても求められます。この関数はヘッダーファイル<string.h>(C++では<cstring>)に定義されており、引数に渡した文字列の長さを自動的に計算して返します。以下のプログラムでその使い方を確認してみましょう。
#include<iostream>
#include<string.h>
using namespace std;
int main() {
char str[] = "Grapes are green";
int count = 0;
cout<<"The string is "<<str<<endl;
cout <<"The length of the string is "<<strlen(str);
return 0;
}出力
The string is Grapes are green The length of the string is 16
まとめ
文字列の長さを求める方法としては、大きく分けて2つのアプローチがあります。
1. ループで手動カウントする方法: ヌル文字に到達するまで1文字ずつ数えるシンプルな手法です。文字列の内部構造への理解を深めるのに役立ちます。
2. strlen()関数を使う方法: コードが簡潔になり、実務でも広く使われる標準的な手法です。ただし、ヘッダーファイルのインクルードが必要です。
どちらの方法でも同じ結果が得られますので、学習目的なら前者、実際の開発では後者を選ぶのがおすすめです。
-
C++で三角形の重心を求めるプログラムの作成方法
この記事では、三角形の3つの頂点の座標を格納した2次元配列が与えられたときに、その三角形の重心を求めるC++プログラムの作成方法を解説します。 三角形の重心とは、三角形の3本の中線がすべて交わる点のことです。 また、三角形の中線とは、ある頂点と、その対辺(向かい合う辺)の中点を結ぶ線分のことを指します。 それでは、具体的な例を使って問題を確認してみましょう。 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-1.5, -1) 説明 重心 (x, y) = ((-3 + 1.5 - 3) / 3, (1 + 0 - 4) / 3) = (-1.5, -1) 解法のアプロ
-
C++で平行四辺形の面積を求めるプログラムの作成方法
この記事では、平行四辺形の底辺と高さを表す2つの値が与えられたとき、C++を使ってその面積を求めるプログラムを作成する方法を解説します。 平行四辺形とは? 平行四辺形とは、4つの辺からなる閉じた図形であり、向かい合う2組の辺がそれぞれ長さが等しく、互いに平行になっている四角形のことです。 問題を理解するための具体例 入力 B = 20, H = 15 出力 300 説明 平行四辺形の面積 = 底辺 × 高さ = 20 × 15 = 300 解決アプローチ この問題を解くには、平行四辺形の面積を求める幾何学の公式を使用します。 面積 = 底辺 × 高さ つまり、与えられた底辺と高さを掛け合わせ