我已經寫了一些代碼,在C++來比較兩個字符串是否相等。我想要的是校對。我計劃在將來使用它來獲得更多的程序,所以重要的是這個功能很好地完成它的工作。這個函數看起來像是可重用,可移植等?有沒有更新的「最新」方法?我用了一個c庫,但這是一個C++程序,是那個禁忌?
謝謝,JH。
//function to compare two strings regardless of case
//-- returns true if the two strings are equal
//-- returns false if
// --the strings are unequal
// --one of the strings is longer than 255 chars
bool isEqual(string str1, string str2){
if(str1.length()!=str2.length()) //the strings are different lengths,
return false; //they can't be equal
if((str1.length()>255) || (str2.length()>255))
return false;
char * cstr1 = new char [str1.length()+1];
strcpy (cstr1, str1.c_str());
char * cstr2 = new char [str2.length()+1];
strcpy (cstr2, str2.c_str());
for(int i=0; i<str1.length()+1; i++){
if(toupper(cstr1[i]) != toupper(cstr2[i]))
return false;
}
return true;
}
哎呀,沒有看到你希望它是不區分大小寫。 –
對於初學者,您會泄漏內存。這是一件壞事。 –
哎呀,怎麼/在哪裏? –