C/C++のisblank()関数とは?使い方とサンプルコードを徹底解説
isblank()関数は、引数として渡された文字が空白文字であるかどうかを判定するために使用される標準ライブラリ関数です。ここでいう空白文字とは、半角スペース(' ')のほかに、タブ文字(\t)も含まれます。なお、改行文字(\n)などは空白文字として扱われない点に注意してください。
この関数は、C言語では「ctype.h」ヘッダーファイル、C++では「cctype」ヘッダーファイルで宣言されています。
isblank()の構文
C++におけるisblank()関数の構文は以下の通りです。
int isblank(int char);
引数には判定対象の文字を渡し、その文字が空白文字であれば0以外の値(真)を、そうでなければ0(偽)を返します。
isblank()の使用例
次に、C++でのisblank()関数の具体的な使用例を見てみましょう。このプログラムでは、文字列の中に含まれる空白文字の個数をカウントします。
#include <ctype.h>
#include <iostream>
using namespace std;
int main() {
string s = "The space between words. ";
int i = 0;
int count = 0;
while(s[i]) {
char c = s[i++];
if (isblank(c)) {
count++;
}
}
cout < < "\nNumber of blanks in sentence : " < < count < < endl;
return 0;
}
実行結果
Number of blanks in sentence : 4
コードの解説
上記のプログラムでは、変数sに文字列「The space between words. 」を格納しています。その後、whileループで文字列を1文字ずつ取り出し、isblank()関数を使って各文字が空白文字かどうかを判定しています。空白文字が見つかるたびにカウンタ変数countがインクリメントされ、最終的に文中の空白の総数が出力されます。
該当する処理部分は、以下のコードスニペットです。
string s = "The space between words. ";
int i = 0;
int count = 0;
while(s[i]) {
char c = s[i++];
if (isblank(c)) {
count++;
}
}
このように、isblank()関数を活用することで、文字列中のスペースやタブの検出・カウントを簡単に実装できます。テキスト解析や入力データの整形など、さまざまな場面で役立つ便利な関数です。
-
C/C++のmemcpy()関数の使い方と実例解説
この記事では、C++ STLにおけるmemcpy()関数の動作、構文、および具体的な使用例について詳しく解説します。 memcpy()とは? memcpy()関数は、C++ STLに組み込まれた標準関数の一つで、<cstring>ヘッダーファイルで定義されています。この関数はメモリブロックをコピーするために使用され、あるメモリ位置から別のメモリ位置へ、指定されたバイト数分のデータを転送します。 関数の実行結果は、データのバイナリコピーとなります。重要な点として、memcpy()は終端のNULL文字やその他の終端記号をチェックしません。単純にソースから指定されたバイト数(num)をそ
-
C/C++で学ぶAA木(AA Tree)とは?基本概念と平衡化操作を徹底解説
AA木(AA Tree)とはコンピュータサイエンスにおいて、AA木(AA Tree)とは、順序付きデータを効率的に格納・検索するために実装された平衡木(バランスドツリー)の一種です。AA木は、赤黒木(Red-Black Tree)の変種として扱われます。赤黒木は二分探索木の一形態であり、要素の追加や削除を効率的にサポートします。赤黒木と大きく異なる点は、AA木では赤いノードを右の子としてのみ追加でき、左の子としては配置できないという制約があることです。この制約により、2-3-4木ではなく2-3木をシミュレートすることになり、その結果、木の保守操作が大幅に簡素化されます。赤黒木の平衡化アルゴリズ