檢查字串練習 (字數計算)
全形、英文、符號判斷
#include <string .h> // 引入字串函數標題檔
#include <ctype .h> // 引入字元測試與轉換函數標題檔
int main()
{
int print = 0, digit = 0, lower = 0, upper = 0;
int punct = 0, space = 0, control = 0, chinese = 0;
char string[] = "Developer Studio 是一個整合式的開發環境"
"(Integrated Development Environment;IDE),"
"它提供 Visual Basic、Visual C++、與其他程式的開發環境。";
int len = strlen(string); // 取得字串長度
for (int i = 0; i <= len; i++) // 字元檢查迴圈
{
if (isprint(string[i]) != 0) // 若為可列印字元
{
print++;
if (isdigit(string[i]) != 0) // 為數字字元
digit++;
else if (islower(string[i]) != 0) // 為小寫字元
lower++;
else if (isupper(string[i]) != 0) // 為大寫字元
upper++;
else if (ispunct(string[i]) != 0) // 為符號字元
punct++;
else // 否則為空白字元
space++;
}
else if (iscntrl(string[i]) != 0) // 若為控制符號字元
{
control++;
}
else // 否則為全形文字(中文)字元
{
chinese++;
i++; // 全形字為2bytes,要多移一個字元
}
}
cout <<"英數符號字數:" <<print; // 顯示訊息字串
cout <<"n 大寫字數:" <<upper; // 顯示訊息字串
cout <<"n 小寫字數:" <<lower; // 顯示訊息字串
cout <<"n 數字字數:" <<digit; // 顯示訊息字串
cout <<"n 空白字數:" <<space; // 顯示訊息字串
cout <<"n 符號字數:" <<punct; // 顯示訊息字串
cout <<"n控制符號字數:" <<control; // 顯示訊息字串
cout <<"n全形文字字數:" <<chinese; // 顯示訊息字串
cout <<endl <<endl;
return 0;
}
Dotblogs 的標籤: BIG5