gpt4 book ai didi

c++ - 使用 std::transform 将字符串转换为所有大写字母

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:00:34 26 4
gpt4 key购买 nike

我正在使用转换算法和 std::toupper 来实现这一点,但是这可以像这样在一行中完成吗?

transform(s.begin(), s.end(), ostream_iterator<string>(cout, "\n"),std::toupper);

我在这方面遇到了错误,所以我是否必须为此创建一个一元函数并使用转换调用它,或者我可以使用一些适配器?

最佳答案

使用 ostream_iterator<char>而不是 ostream_iterator<string> :

transform(s.begin(),s.end(),ostream_iterator<char>(cout,"\n"),std::toupper);

std::transform转换每个字符并将其传递给输出迭代器。这就是为什么输出迭代器的类型参数应该是 char 的原因。而不是 std::string .

顺便说一句,每个字符都将打印在一个换行符上。那是你要的吗?如果不是,请不要通过 "\n" .

--

注意:您可能必须使用 ::toupper而不是 std::toupper .

看这些

关于c++ - 使用 std::transform 将字符串转换为所有大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5963102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com