2017-04-09 94 views
0

我有找到其他字符串中出現的字符串的方法。我的問題是如何使它在小寫字母和大寫字母之間沒有區別?C++小寫大寫字母沒有區別

int occurrences = 0; 
string::size_type start = 0; 

while ((start = base_string.find(to_find_occurrences_of, start)) != string::npos) { 
    ++occurrences; 
    start += to_find_occurrences_of.length(); 
} 
+0

的可能的複製[不區分大小寫的std :: string.find()](http://stackoverflow.com/questions/3152241/case-insensitive-stdstring-find ) – mligor

+0

什麼語言?有一種小寫/大寫字母對應多種可能性的語言,並且在某些情況下可以同時出現多個字符。 – Yakk

回答

3

爲什麼不把兩個字符串設置爲大寫,然後再進行搜索?

0

使字符串中的所有字母大寫/小寫。

0

嘗試該比較的兩側使用tolower()toupper()功能從<cctype> (ctype.h)庫,以便任何差異變得可忽略不計。

2

在比較之前將兩個字符串標準化爲大寫或小寫。

如何做到這一點使用標準庫的tolower的()或TOUPPER()函數與變換()函數的說明在這裏給出:https://stackoverflow.com/a/313990/2355444