C++ Isupper/tolower不';行不通
问题是,我的程序不会将大写字母更改为小写字母。我想不出为什么它没有C++ Isupper/tolower不';行不通,c++,C++,问题是,我的程序不会将大写字母更改为小写字母。我想不出为什么它没有 #include <iostream> #include <ctype.h> using namespace std; int main(){ string str="hEhEhehe"; for(int i=0;i<str.size();i++){ if(isupper(str.at(i))) tolower(str.at(i));
#include <iostream>
#include <ctype.h>
using namespace std;
int main(){
string str="hEhEhehe";
for(int i=0;i<str.size();i++){
if(isupper(str.at(i)))
tolower(str.at(i));
}
cout << str;
return 0;
}
#包括
#包括
使用名称空间std;
int main(){
string str=“嘿嘿”;
对于(inti=0;i,需要将值赋回字符串的索引
if(isupper(str.at(i)))
str[i] = tolower(str.at(i));
查看tolower
的返回值。它不会对字符进行变异,而是返回小写字符。字符是不可变的。它必须返回一个新字符。顺便说一句。您可能会注意到,您正在逐个值传递该字符,因此如果不通过点传递,则无法在函数中更改它呃,希望上面的字符是ASCII码,或者至少是非负的。@deplicationdelicator我喜欢我的表情符号lowercase@Miket25当然,当然,我在想一些不那么有趣的事情,比如Ä
。