我有一個函數,它將一個字符串作爲參數。 我想要做的是檢查字符串是否以大寫字母開頭。如果這是真的,那麼我想返回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個字符或更多,會發生什麼? –