欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[Error] no matching function for call to ‘isalpha(std::&)‘解决

程序员文章站 2022-03-30 22:01:53
...

最近发现了#include<cctype>头文件的一些非常好的特性

这不是c++11的新特性

出现了这样的问题

[Error] no matching function for call to 'isalpha(std::&)'解决

原因是:cctype中的函数无法直接作用到整个string整个变量中

加上他的判断位置就好啦~

改前错误代码

#include<iostream>
#include<ctype.h>
using namespace std;
int main()
{
     string  s;
	cin>>s;
	if(isalpha(s))
	{
		cout<<s<<"is alpha";
	}
	
	
	return 0;
	
	
}

改后代码

#include<iostream>
#include<ctype.h>
using namespace std;
int main()
{
     string  s;
	cin>>s;
        //此处修改为具体索引
	if(isalpha(s[0]))
	{
		cout<<s<<"is alpha";
	}
	
	
	return 0;
	
	
}
isalnum() 如果参数是字母数字,即字母或数字,该函数返回true
isalpha() 如果参数是字母,该函数返回真
isblank() 如果参数是空格或水平制表符,该函数返回true
iscntrl() 如果参数是控制字符,该函数返回true
isdigit() 如果参数是数字(0~9),该函数返回true
isgraph() 如果参数是除空格之外的打印字符,该函数返回true
islower() 如果参数是小写字母,该函数返回true
isprint() 如果参数是打印字符(包括空格),该函数返回true
ispunct() 如果参数是标点符号,该函数返回true
isspace()

如果参数是标准空白字符,如空格、进纸、换行符、回车

、水平制表符或者垂直制表符,该函数返回true

isupper() 如果参数是大写字母,该函数返回true
isxdigit() 如果参数是十六进制的数字,即0~9、a~f、A~F,该函数返回true
tolower() 如果参数是大写字符,则返回其小写,否则返回该参数
toupper()

如果参数是小写字母,则返回其大写,否则返回该参数

 常用

isalpha() (字母包括大写,小写)

islower() (小写字母)

isalnum()  (字母大写小写+数字)

isblank()  (space 和\t)

isspace() (space  、\t、\r、\n)

tolower()

toupper() 作用是转化为小写大写