一、string转小写字母
string转小写字母是一项常见的字符串操作任务。在C++中,我们可以通过循环遍历字符串并按照ASCII码进行位移的方式来实现。
<string> <algorithm> using namespace std; void to_lower(string& str) { transform(str.begin(), str.end(), str.begin(), ::tolower); } int main() { string s = "HELLO WORLD"; to_lower(s); cout << s << endl; return 0; }
上述代码中,我们使用了algorithm头文件中的transform()函数来实现遍历操作,使用::tolower来进行小写字母的转换。
二、string转换成小写
除了可以遍历字符串进行小写转换操作,C++中还提供了许多高效的库函数来实现这一目标。
#include #include using namespace std; string to_lower(string str) { transform(str.begin(), str.end(), str.begin(), ::tolower); return str; } string to_lower_case(string str) { locale loc; for (int i = 0; i < str.size(); ++i) { str[i] = tolower(str[i], loc); } return str; } int main() { string s = "HELLO WORLD"; cout << to_lower(s) << endl; cout << to_lower_case(s) << endl; return 0; }
其中,我们使用了locale标准库中的tolower()函数来实现字符的小写转换,并使用了C++11中的auto关键字来自动判断返回值类型。
三、string转小写函数
依靠谷歌来实现string转小写函数:
#include using namespace std; string tolower(string s) { transform(s.begin(), s.end(), s.begin(), [](unsigned char c){ return tolower(c); }); return s; } int main() { string s = "HELLO WORLD"; cout << tolower(s) << endl; return 0; }
上述代码中使用了lambda表达式来实现对字符的小写转换,同时使用了C++11的auto关键字来自动推断返回类型。
四、c++ string 转小写
如果使用C++ string来实现小写转换,我们可以直接使用在algorithm头文件中定义的transform()函数,将每个字符转换为小写字符即可:
#include #include using namespace std; string tolower(string s) { transform(s.begin(), s.end(), s.begin(), ::tolower); return s; } int main() { string s = "HELLO WORLD"; cout << tolower(s) << endl; return 0; }
五、std::string 转小写
C++标准库中的std::string类中也有小写转换函数,我们可以使用transform()函数和tolower()函数来实现:
#include #include using namespace std; string tolower(string s) { locale loc; for (int i=0; i<s.size(); ++i) { s[i] = tolower(s[i],loc); } return s; } int main() { string s = "HELLO WORLD"; cout << tolower(s) << endl; return 0; }
六、string大写转小写
和小写转大写很类似,只需要将toupper()函数替换为tolower()函数即可:
#include #include using namespace std; string tolower(string s) { transform(s.begin(), s.end(), s.begin(), ::tolower); return s; } string toupper(string s) { transform(s.begin(), s.end(), s.begin(), ::toupper); return s; } int main() { string s = "HELLO WORLD"; cout << tolower(s) << endl; cout << toupper(s) << endl; return 0; }
七、string转list
在C++中,如果我们需要将一个字符串按照某个特定的分隔符进行分割,并将分割后的内容存入一个list中,可以使用下面的代码:
#include #include #include using namespace std; list split(const string& str, char delimiter=' ') { list result; stringstream ss(str); string item; while (getline(ss, item, delimiter)) { result.push_back(item); } return result; } int main() { string s = "hello world"; list l = split(s); for (auto& item: l) { cout << item << endl; } return 0; }
在上述代码中,我们使用了std::stringstream和std::getline()函数来实现字符串分割的操作。可以根据需要设定分隔符来分割字符串。
八、string转integer
如果我们需要将一个字符串转换为整数,可以使用C++标准库提供的stol()函数:
#include #include using namespace std; int main() { string s = "123"; long res = stol(s); cout << res << endl; return 0; }
九、string转byte
在C++中,同样可以将一个字符串表示的信息转换为二进制数据。一个字节可以被表示为char类型。我们可以使用static_cast()函数将其转换为char类型:
#include #include using namespace std; int main() { string s = "A"; char res = static_cast(s.data()[0]); cout << (int)res << endl; return 0; }
在上述代码中,我们将string类型的数据转换为char类型,并强制转换为整数输出。
原创文章,作者:DYQRM,如若转载,请注明出处:https://www.506064.com/n/318194.html