C言語において、文字列や配列中の空白やタブを判定することはテキスト処理においてよく行われます。
この記事では、isspace関数を用いてC言語で文字列や配列の中に半角スペースや
全角スペース、水平タブ、垂直タブを判定する方法に焦点を当て、初心者向けに解説します。
文字列中の空白を判定する方法
isspace関数は標準ライブラリの一部であり、文字が空白文字であるかどうかを判定する便利な関数です。
文字列中に空白文字が含まれているかどうかを判定する際には、
文字列の各文字に対してisspace関数を適用します。
#include <stdio.h>
#include <ctype.h>
int main() {
char text[] = "Hello, World!"; // 対象の文字列
// 文字列中に空白が含まれているかの判定
for (int i = 0; text[i] != '#include <stdio.h>
#include <ctype.h>
int main() {
char text[] = "Hello, World!"; // 対象の文字列
// 文字列中に空白が含まれているかの判定
for (int i = 0; text[i] != '\0'; i++) {
if (isspace(text[i])) {
printf("文字列中に空白が含まれています。\n");
break;
}
}
return 0;
}
'; i++) {
if (isspace(text[i])) {
printf("文字列中に空白が含まれています。\n");
break;
}
}
return 0;
}
この例では、textという文字列に対してisspace関数を利用して空白文字が含まれているかを判定しています。
char配列中の空白をチェックする方法
配列中に空白文字が含まれているかどうかも同様に、
各要素に対してisspace関数を適用して判定します。
#include <stdio.h>
#include <ctype.h>
int main() {
char array[] = {'a', 'b', ' ', 'c', 'd'}; // 対象の配列
// 配列中に空白が含まれているかの判定
for (int i = 0; i < sizeof(array) / sizeof(array[0]); i++) {
if (isspace(array[i])) {
printf("配列中に空白が含まれています。\n");
break;
}
}
return 0;
}
この例では、arrayという配列に対して同様にisspace関数を利用して
空白文字が含まれているかを判定しています。
広告
配列中のタブ文字を判定する方法
水平タブや垂直タブも同様にisspace関数を使用して判定できます。
#include <stdio.h>
#include <ctype.h>
int main() {
char tabArray[] = {'a', 'b', '\t', 'c', 'd'}; // 対象の配列
// 配列中に水平タブが含まれているかの判定
for (int i = 0; i < sizeof(tabArray) / sizeof(tabArray[0]); i++) {
if (isspace(tabArray[i])) {
printf("配列中に水平タブが含まれています。\n");
break;
}
}
char verticalTabArray[] = {'a', 'b', '\v', 'c', 'd'}; // 対象の配列
// 配列中に垂直タブが含まれているかの判定
for (int i = 0; i < sizeof(verticalTabArray) / sizeof(verticalTabArray[0]); i++) {
if (isspace(verticalTabArray[i])) {
printf("配列中に垂直タブが含まれています。\n");
break;
}
}
return 0;
}
広告
まとめ
isspace関数を活用することで、C言語において文字列や配列中の空白やタブを簡単に判定することができます。
文字列や配列を対象にforループを使用して各要素に対してisspace関数を利用することで、
空白文字の検出が容易になります。
初心者の方にも理解しやすいように解説しましたので、ぜひ参考にしてみてください。