首先把显示函数敲上,用了两个指针p和q,都指向数组a。
#include
#include
int main(int argc,char *argv[])
{
char a[]={"asaqs da1 sda,.as,.."};
char *p,*q;
puts(a);
p=a;
q=p;
while(*p){
if(isprint(*p)){
*q=*p;
p++;
q++
}
else
p++;
}
*q=*p;
puts(a);
return 0;
}
看结果可以得知isprint是打印全部符号
asaqs da1 sda,.as,..
asaqs da1 sda,.as,..
#include
#include
int main(int argc,char *argv[])
{
char a[]={"asaqs da1 sda,.as,.."};
char *p,*q;
puts(a);
p=a;
q=p;
while(*p){
if(ispha(*p)){
*q=*p;
p++;
q++;
}
else
p++;
}
*q=*p;
puts(a);
return 0;
}
看结果可以看出ispha是打印字母
asaqs da1 sda,.as,..
asaqsdasdaas
#include
#include
int main(int argc,char *argv[])
{
char a[]={"asaqs da1 sda,.as,.."};
char *p,*q;
puts(a);
p=a;
q=p;
while(*p){
if(isdight(*p)){
*q=*p;
p++;
q++;
}
else
p++;
}
*q=*p;
puts(a);
return 0;
}
看结果可以看出isdight打印数字,其实准确的说是打印10进制数字
asaqs da1 sda,.as,..
1
而isxdight是打印16进制数字
#include
#include
int main(int argc,char *argv[])
{
char a[]={"asaqs da1 sda,.as,.."};
char *p,*q;
puts(a);
p=a;
q=p;
while(*p){
if(isgraph(*p)){
*q=*p;
p++;
q++;
}
else
p++;
}
*q=*p;
puts(a);
return 0;
}
看结果可以看出isgraph是打印非空格的字符
asaqs da1 sda,.as,..
asaqsda1sda,.as,..
#include
#include
int main(int argc,char *argv[])
{
char a[]={"Welcome da1 sda,.as,.."};
char *p,*q;
puts(a);
p=a;
q=p;
while(*p){
if(islower(*p)){
*q=*p;
p++;
q++;
}
else
p++;
}
*q=*p;
puts(a);
return 0;
}
看结果可以看出islower打印的是小写字母
Welcome da1 sda,.as,..
elcomedasdaas
#include
#include
int main(int argc,char *argv[])
{
char a[]={"Welcome da1 sda,.as,.."};
char *p,*q;
puts(a);
p=a;
q=p;
while(*p){
if(isupper(*p)){
*q=*p;
p++;
q++;
}
else
p++;
}
*q=*p;
puts(a);
return 0;
}
可以看出isupper打印的是大写字母
Welcome da1 sda,.as,..
W
#include
#include
int main(int argc,char *argv[])
{
char a[]={"WELCOMEto_ china,.,.."};
char *p,*q;
puts(a);
p=a;
q=p;
while(*p){
if(isalpha(*p)){
*p=tolower(*p);
*q=*p;
p++;
q++;
}
else
p++;
}
*q=*p;
puts(a);
return 0;
}
可以看出tolower是把大写变成小写。
WELCOMEto_ china,.,..
welcometochina
#include
#include
int main(int argc,char *argv[])
{
char a[]={"WELCOMEto_ china,.,.."};
char *p,*q;
puts(a);
p=a;
q=p;
while(*p){
if(isalpha(*p)){
*p=toupper(*p);
*q=*p;
p++;
q++;
}
else
p++;
}
*q=*p;
puts(a);
return 0;
}
可以看出toupper是把小写转换成大写
WELCOMEto_ china,.,..
WELCOMETOCHINA
有了这些函数,字符串还不是随便我们拿捏