我有一个函数,它将一个字符串作为参数。 我想要做的是检查字符串是否以大写字母开头。如果这是真的,那么我想返回true。如果它不是以大写字母开头,那么我希望返回false。够简单?如何检查字符串的第一个字符是否为大写?
我使用的代码是这样的:
bool filter(string word)
{
char cWord[50];
char c;
for(int i = 0; i <= word.size(); i++)
{
cWord[i] = word[i];
}
c = cWord[0];
if(isupper(c)){return true;}
else{return false;}
}
不过,我不认为它的功能如何我想它。任何人都可以确认我的函数应该正常工作,还是有更好的方法来检查第一个字符是否是大写字母?
我没有看到任何问题。请注意,isupper会考虑系统区域设置来决定它收到的字符是否是大写字母。 – Spidey
你为什么复制字符串?我假设'string'是'std :: string','isupper'是'std :: isupper'? –
另外,你容易受到缓冲区溢出......如果单词是50个字符或更多,会发生什么? –