我正在尝试将从文件中读取的字符串转换为小写,并将小写字符串保存在单独的字符串中以进行比较,但我想保留原始字符串以供演示,但我遇到了一些麻烦:
ifstream file;
string name,
lnStr,
searchStr,
lowerStr;
int lineNum = 0;
int strCount;
while(getline(file, lnStr))
{
lowerStr = lnStr;
for(int i = 0; lowerStr[i] != '\0'; i++){
lowerStr[i] = tolower(lowerStr[i]);
}
if(lowerStr.find(searchStr, 0) < lnStr.npos)
{
cout << setw(5) << ++lineNum << ":" << lnStr << endl;
strCount++;
}
}
显然我不能在字符串上使用 sub[i] ,但是将它全部保存在一个数组中似乎太多了。我这样做是最有效的吗?如何将我的小写字符串和原始字符串分开?