C++ 在函数内部将std::string转换为小写
我需要一个快速的可移植函数,可以将字符串转换成小写。经过研究,我提出了这个代码,可惜没有工作C++ 在函数内部将std::string转换为小写,c++,C++,我需要一个快速的可移植函数,可以将字符串转换成小写。经过研究,我提出了这个代码,可惜没有工作 #include <iostream> #include <string> #include <algorithm> using namespace std; void low_string(string); int main() { string lower = "This is MIX case TEST"; lo
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
void low_string(string);
int main()
{
string lower = "This is MIX case TEST";
low_string(lower);
cout << lower;
return 0;
}
void low_string(string lower)
{
transform(lower.begin(), lower.end(), lower.begin(), ::tolower);
}
#包括
#包括
#包括
使用名称空间std;
无效低_字符串(字符串);
int main()
{
string lower=“这是混合案例测试”;
低(低)串(低);;
cout您正在按值传递字符串,因此函数中的参数lower
实际上是main
中参数lower
的副本
将代码更改为void low_string(string&lower)
,它应该可以工作您正在按值传递字符串,因此函数中的参数lower
实际上是main
中参数lower
的副本
将代码更改为void low_string(string&lower)
,它应该可以工作您正在修改字符串的副本,而不是字符串本身。
你应该考虑通过引用代替:< /P>
void low_string(string & lower)
{
transform(lower.begin(), lower.end(), lower.begin(), ::tolower);
}
您正在修改字符串的副本,而不是字符串本身。
你应该考虑通过引用代替:< /P>
void low_string(string & lower)
{
transform(lower.begin(), lower.end(), lower.begin(), ::tolower);
}
您需要通过引用而不是值来接收字符串。std::string&lowerVoting以键入方式关闭。您忘记了通过引用传递。void low\u string(string lower)
=>void low\u string(string&lower)
@NathanOliver哇!我正在寻找错误的位置!您需要通过引用而不是值来接收字符串。std::string&lowerVoting以键入方式关闭。您忘记了通过引用传递。无效低位字符串(string lower)
=>无效低位字符串(string&lower)
@NathanOliver哇!我在找错误的地方!