我有一个字符串:"apple".如何只将第一个字符转换为大写并获取一个新的字符串形式"Apple"?
我也可以有一个包含多字节字符的字符串.
如果字符串的第一个字符是多字节字符怎么办?
Set*_*gie 44
string str = "something";
str[0] = toupper(str[0]);
Run Code Online (Sandbox Code Playgroud)
这就是你需要做的.它也适用于C字符串.
就像卡内基所说的那样,
string str = "something";
str[0] = toupper(str[0]);
Run Code Online (Sandbox Code Playgroud)
还记得:
#include <string>
#include <cctype>
Run Code Online (Sandbox Code Playgroud)
一路攀升
(仅适用于“ASCII”字符。)
std::wstring s = L"apple";
if(islower(s.at(0) <= 'z' ? s.at(0) : 'A'))
s[0] += 'A' - 'a';
Run Code Online (Sandbox Code Playgroud)
或者,如果您感觉很奇特并且想折磨您代码的未来读者:
std::wstringstream wss;
wss << std::uppercase << s[0]
<< std::nouppercase << s.substr(1);
wss >> s;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55946 次 |
| 最近记录: |