一、isspace函數介紹
isspace函數是C++標準庫中的一個字符判別函數,其作用是判斷某個字符是否為空白字符。空白字符包括空格(’ ‘)、水平製表符(’\t’)、縱向製表符(’\v’)、換行符(’\n’)、回車符(’\r’)和換頁符(’\f’),也就是非可打印字符。
bool isspace(int c);
isspace函數的返回值是boolean類型,當傳入的字符是空白字符時,函數返回真(true),否則返回假(false)。
二、isspace函數的用途
isspace函數常用於去除字符串兩端的空格。代碼示例如下:
#include <iostream>
#include <string>
using namespace std;
string trim(const string& str) //去除字符串兩端的空格
{
if (str.empty()) {
return str;
}
size_t i = 0, j = str.size() - 1;
while (i 0 && isspace(str[j])) {
--j;
}
return str.substr(i, j - i + 1);
}
int main()
{
string s = " hello world ";
cout << "[" << trim(s) << "]" << endl;
return 0;
}
輸出結果為:
[hello world]
上述代碼使用了isspace函數判斷字符串兩端是否有空白字符。通過循環去掉開頭和結尾的空白字符,從而實現去除字符串兩端空格的效果。
三、isspace函數的注意事項
在使用isspace函數時需要注意以下幾點:
- 參數為int類型,表示字符的ASCII碼。因此使用時需要將字符強制轉換為int類型。
- 需要包含頭文件。
代碼示例如下:
#include <iostream>
#include <cctype>
using namespace std;
int main()
{
char c1 = ' ';
char c2 = '\t';
int ascii1 = c1;
int ascii2 = c2;
bool isspace1 = isspace(ascii1);
bool isspace2 = isspace(ascii2);
cout << "ascii1: " << ascii1 << ", isspace1: " << isspace1 << endl;
cout << "ascii2: " << ascii2 << ", isspace2: " << isspace2 << endl;
return 0;
}
輸出結果為:
ascii1: 32, isspace1: 1
ascii2: 9, isspace2: 1
上述代碼演示了將字符轉換為ASCII碼,並利用isspace函數判斷字符是否為空白字符的過程。
四、小結
isspace函數是C++標準庫中的一個字符判別函數,用於判斷某個字符是否為空白字符。它常用於去除字符串兩端的空格。在使用isspace函數時需要注意參數為int類型,需要將字符強制轉換為int類型,並且需要包含頭文件。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/194867.html
微信掃一掃
支付寶掃一掃