错误:表达式必须是可使用字符串修改的左值
Error: Expression must be a modifiable lvalue using strings
我正在尝试创建一个函数,用于统计字符串中使用特定字符的次数。给我错误的部分是:
s[i] = tolower(s[i]);
代码:
#include <iostream>
#include <string>
using namespace std;
unsigned howMany(char c, const string & s);
string changeCase(const string & s);
int main() {
char z;
string name;
cout << "Enter char and string: ";
cin >> z;
getline(cin, name, 'n');
cout << howMany(z, name) << endl;
cout << changeCase(name) << endl;
}
unsigned howMany(char c, const string & s) {
unsigned count = 0;
for (unsigned i = 0; i < s.size(); i++)
{
if (c == s[i]) { count++; }
if (isupper(s[i])){ s[i] = tolower(s[i]);
count++;
}
}
return count;
}
您将s声明为const。您无法更改它。
相关文章:
- 我应该如何修改此代码以使用给定字符串中的字母打印菱形图案
- 如何修改 lambda 内部字符串的向量
- 修改向量中的字符串?(不使用循环)
- 如何在不进行任何其他修改的情况下"pretty print" C++的XML字符串?
- 如何找到修改后的字符串与原始字符串相等的时间
- 根据平台目标修改OriginalFilename字符串
- 在C++中修改字符串的BigO时间复杂度是多少
- 修改字符串数组中的字符串
- 在 c++ 中,std::string::size() 不计算修改后的字符串长度
- 从字符串修改char数组
- C++,字符* 字符串修改
- 是否可以修改字符串输入?
- 如何从线程修改字符串
- c++ 修改字符串以包含整数的字符串 repr.
- 在 c++ 中修改字符串向量的元素
- 使用指针修改 C++ 初学者---字符串
- 修改c字符串
- c++:在修改c字符串数组时帮助纠正无休止循环
- 可修改字符串字面值的用例
- 修改字符串的长度和内容