C语言--isspace()函数实现
??c語言中有很多處理string類型的函數(shù),今天簡單的使用了一下isspace()函數(shù),自我實(shí)現(xiàn)調(diào)用了一下。
Isspace()函數(shù)
??包含在ctype.h頭文件中
函數(shù)原型:
int isspace(int c);
函數(shù)功能
??判斷輸入字符是否為空格/回車/制表符等
函數(shù)參數(shù):
??獲取實(shí)參char類型的字符
函數(shù)返回值:
??如果獲取到的字符是空格/回車/制表符等,返回非0值(即真);否則返回0
實(shí)例一:調(diào)用頭文件直接使用isspace()函數(shù)
1 #include<stdio.h>
2 #include<ctype.h>
3 int main(void)
4 {
5 char arr[32]=" hello world ";
6 printf("<%s>
", arr);
7 char*r = arr;
8 char*p = r;
9 char*q = arr + strlen(arr)-1;
10 while(isspace(*p))
11 p++;
12 while(isspace(*q))
13 q--;
14 while(p <= q)
15 *r++=*p++;
16 *r ='';
17 printf("<%s>
", arr);
18 return0;
19 }
實(shí)例二:根據(jù)函數(shù)原型,自己實(shí)現(xiàn)isspace()函數(shù)
1 int myIsspace(char c)
2 {
3 if(c ==' '|| c =='
'|| c ==' ')
4 return1;
5 else
6 return0;
7 }
??在直接調(diào)用isspace()函數(shù)時(shí),要謹(jǐn)慎使用,在不同的操作平臺上,可能會有崩潰行為,建議自己實(shí)現(xiàn)一個(gè)isspace()函數(shù)。
錯(cuò)誤如下:
??拓展:
??這里我調(diào)用isspace()函數(shù)主要實(shí)現(xiàn)消除字符串兩邊的空格或者其他符號,例如:"??hello heima??"消除空格之后的格式為:"hello heima"
??消除實(shí)現(xiàn)思想:
??1. 定義兩個(gè)指針p,q分別指向字符串頭和尾;
??2. 再創(chuàng)建一個(gè)臨時(shí)指針r來存放字符串?dāng)?shù)組arr的首地址:
??3. p,q遇見空格就p++和q–;一直循環(huán)直至非空。
??如圖:
??
具體實(shí)現(xiàn)Demo:(這里使用自定義isspace()函數(shù))
1 #include<stdio.h>
2 #include<string.h>
3 int myIsspace(char c)
4 {
5 if(c ==' '|| c =='
'|| c ==' ')
6 return1;
7 else
8 return0;
9 }
10 int main(void)
11 {
12 char arr[32]=" hello world ";
13 printf("<%s>
", arr);
14 char*r = arr;
15 char*p = r;
16 char*q = arr + strlen(arr)-1;
17 while(myIsspace(*p))
18 p++;
19 while(myIsspace(*q))
20 q--;
21 while(p <= q)
22 *r++=*p++;
23 *r ='';
24 printf("<%s>
", arr);
25 return0;
26 }
??消除結(jié)果如下所示:
總結(jié)
以上是生活随笔為你收集整理的C语言--isspace()函数实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大神教你如何升级内存如何升级电脑内存
- 下一篇: 电脑的dwg文件怎么打开如何打开电脑