【问题标题】:Uppercase to lowercase string大写转小写字符串
【发布时间】:2016-01-25 00:41:56
【问题描述】:

我正在尝试仅使用字符串和字符值将小写字母转换为大写字母。这得到一个奇怪的错误说: 错误 C2678 二进制“>>”:未找到采用“std::istream”类型左侧操作数的运算符(或没有可接受的转换) Win32Project18 c:\users\leeanntop\documents\visual studio 2015\projects\ win32project18\win32project18\source.cpp 11 代码如下:

#include <iostream>
#include <string>




using namespace std;
int main()
{
     const char a = a;
     char capital = a - 32;
     cout << "Please input your chosen lowercase letter " ;
     cin >> a;
     cout << "Your capital letter is : " << capital << endl;
     return 0;
}

【问题讨论】:

  • 好吧,想一想将某些东西变成字符需要什么。
  • const char a = a; ???你试过 char a = '';
  • 谢谢。到目前为止,只是 char a 工作正常。现在我只是尝试对字母表中的所有输入值执行此操作。

标签: c++ string char uppercase lowercase


【解决方案1】:

我认为你应该这样做:

int main()
{
     char a = '';
     cout << "Please input your chosen lowercase letter " ;
     cin >> a;
     char capital = toupper(a);
     cout << "Your capital letter is : " << capital << endl;
     return 0;
}

如果你有任何问题,请告诉我

【讨论】:

  • 感谢您的回复。唯一的问题是编译器不允许我输入没有任何内容的 '' 作为语句。
  • 你确定吗?然后尝试放一些虚拟的东西,比如 char a='a';
  • 效果很好^^;。我之前尝试过,目前正在努力让它适用于所有字母,因为到目前为止它只会返回一个大写的 A。
  • 目前仍然只返回大写字母 A。
  • 我不知道...也许你忘了再次编译。顺便说一句:我不知道为什么有人对我投反对票
【解决方案2】:

const 表示无法更改。

因此cin 不能在里面放任何东西。你只需要char

另外char a = a;没有任何意义,所以只需删除= a或执行= 'a';之类的操作,并在从cin获取字符后设置capitol

【讨论】:

    猜你喜欢
    • 2011-01-16
    • 2016-05-03
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    相关资源
    最近更新 更多