std::string字符串转换成大写的方法?

fibbery 2008-09-18 06:28:22
例如:


std::string str="abc";
...
std::cout<<str<<std::endl;//输出ABC
...全文
2038 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdx04 2008-09-19
  • 打赏
  • 举报
回复
嗯,我搞错了,to_upper没有返回值,它是直接在参数上改。返回一个string的函数是to_upper_copy:
str = boost::to_upper_copy(str);
jieao111 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wdx04 的回复:]
Boost的字符串算法库里面有这个算法
#include <boost/algorithm/string.hpp>

str = boost::to_upper(str);
[/Quote]
boost确实好用点,不过我装的boost(1.35)貌似编译不过,改成一下后就可以了。
int main(){
string str="abc";
boost::to_upper(str);
cout<<str;

}
ABC请按任意键继续. . .
fibbery 2008-09-18
  • 打赏
  • 举报
回复
o了,多谢各位!
weiyijiji 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fibbery 的回复:]
引用 1 楼 weiyijiji 的回复:
transform (str.begin(),str.end(), str.begin(), toupper);


请问,transform是那个头文件里的?utility??
[/Quote]
#include <algorithm>
帅得不敢出门 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fibbery 的回复:]
引用 1 楼 weiyijiji 的回复:
transform (str.begin(),str.end(), str.begin(), toupper);


请问,transform是那个头文件里的?utility??
[/Quote]
#include <algorithm>
K行天下 2008-09-18
  • 打赏
  • 举报
回复

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main() {
string s = "Taking";
// toUpper
transform(s.begin(), s.end(), s.begin(), toupper);

// toLower
// transform(s.begin(),s.end(),s.begin(),tolower);

cout << s << endl;
}


transform通用
fibbery 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 weiyijiji 的回复:]
transform (str.begin(),str.end(), str.begin(), toupper);
[/Quote]

请问,transform是那个头文件里的?utility??
wdx04 2008-09-18
  • 打赏
  • 举报
回复
Boost的字符串算法库里面有这个算法
#include <boost/algorithm/string.hpp>

str = boost::to_upper(str);
wangdeqie 2008-09-18
  • 打赏
  • 举报
回复

//我2楼贴的那个有问题,看这个
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

void main()
{
string str="abc";
transform(str.begin(),str.end(),str.begin(),toupper);
cout<<str<<endl;
}
wangdeqie 2008-09-18
  • 打赏
  • 举报
回复

#include <iostream>
#include <string>
using namespace std;

void main()
{
string str="abc";

cout<<toupper(str.c_str());
}
weiyijiji 2008-09-18
  • 打赏
  • 举报
回复
transform (str.begin(),str.end(), str.begin(), toupper);

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧