qq_39259295 2019-10-30 15:55 采纳率: 57.1%
浏览 399
已采纳

c++ toupper函数和迭代器的报错

题目:输出一个文本的第一段并编程大写
代码如下:

题目:输出一个文本的第一段并编程大写
代码如下:
#include<iostream>
#include<string>
#include<vector>
#include<cctype>//toupper和tolower函数的头文件
using namespace::std;

int main()
{
vector<string>text;
string word;
while (cin >> word)
{
text.push_back(word);
}
for (auto it = text.begin(); it != text.end() && !it->empty(); ++it)
{
*it=toupper( *it);
cout << *it << endl;
}
system("PAUSE");
}

报错如下:


请问这是为什么呢?感觉和书上例子写的一样啊。。。 

报错如下:

请问这是为什么呢?感觉和书上例子写的一样啊。。。

展开全部

  • 写回答

1条回答 默认 最新

  • qtchen_1988 2019-10-31 02:04
    关注

    toupper 原型是: int toupper ( int c );

    *it=toupper( *it);
    cout << *it << endl;
    改成:
    string tmp = *it;
    for (int i = 0; i < tmp.length(); i++)
    {
         tmp[i] = toupper(tmp[i]);
    }
        cout << tmp << endl;
    

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 VAE代码如何画混淆矩阵
  • ¥15 求遗传算法GAMS代码
  • ¥15 雄安新区高光谱数据集的下载网址打不开
  • ¥66 android运行时native和graphics内存详细信息获取
  • ¥100 求一个c#通过CH341读取数据的Demo,能够读取指定地址值的功能
  • ¥15 rk3566 Android11 USB摄像头 微信
  • ¥15 torch框架下的强化学习DQN训练奖励值浮动过低,希望指导如何调整
  • ¥35 西门子博图v16安装密钥提示CryptAcquireContext MS_DEF_PROV Error of containger opening
  • ¥15 mes系统扫码追溯功能
  • ¥40 selenium访问信用中国