字符转换功能std :: isupper()和std :: islower()C ++ 17

Code_Infinity

我创建了一个简单的程序来检查用户输入的字母是大写还是小写,然后使用std::isupper()std::islower()功能将小写转换为大写,并将大写转换为小写在运行代码时,我得到了数字形式的字符转换,而不是预期的大写/小写等效形式。这是为什么?

#include <iostream>

int main()
{
    char letter {};

    std::cout << "Enter a letter:";

    std::cin >> letter;

    if (std::isupper(letter))
    {
        std::cout << "You entered an uppercase letter"
                     "\n"
                     "the lowercase equivalent is:"
                  << std::tolower(letter);
    }

    if (std::islower(letter))    
    {
        std::cout << "You entered a lowercase letter"
                     "\n"
                     "the uppercase equivalent is:"
                  << std::toupper(letter);
    }

    return 0;
}

这是下面的输出示例:

Enter a letter:F
You entered an uppercase letter.
The lowercase equivalent is:102

Enter a letter:f
You entered a lowercase letter.
The uppercase equivalent is:70
穆罕默德·迪法拉(Mohammed Deifallah)
if(std::isupper(letter))
{

  std::cout<<"You entered an uppercase letter"<<"\n"

  "the lowercase equivalent is:" << (char)std::tolower(letter);
}

if (std::islower(letter))

{

  std::cout<<"You entered a lowercase letter"<<"\n"

  "the uppercase equivalent is:" << (char)std::toupper(letter);

}

    return 0;

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C++17 结合 std::async 和 std::invoke

gcc 选项 std=gnu++17 与 std=c++17

C ++ 17表达式评估顺序和std :: move

std :: in_place_t和C ++ 17中的朋友

c++17 语言扩展和 std:c++17 标志

C ++ 17:lambda到std :: function转换失败

在Haskell中使用isUpper,isLower和isDigit

如何在C ++ 17中将std :: string转换为std :: vector <std :: byte>?

如何在C ++ 17中使用std:from_chars从字符串转换为int / float

c ++ 14 std :: experimental :: filesystem :: v1和c ++ 17 std :: filesystem之间的区别?

C ++ 17 std ::在G ++中是可选的吗?

新的std :: map :: erase()签名C ++ 17

C++17 的 std::inserter 替换

在C ++ 17中更改std :: map :: insert

GCC和Clang无法在C ++ 17中编译std :: hash <std :: nullptr_t>

C ++ 17 std :: from_chars和std :: to_chars的目的是什么?

C ++ 17无法使用std :: bind生成std :: function

为什么std :: atomic构造函数在C ++ 14和C ++ 17中表现不同

具有自动功能的C ++ 17模板参数会允许受约束的std :: function对象吗?

当将std :: string转换为std :: wstring时,C ++ 17编解码器抛出“错误转换”

为什么在c ++ 17中不推荐使用std :: allocator的Construct和destroy函数?

clang-6和-std = c ++ 17-无法调用bind(2)

C ++ 17和更新的std :: allocators是否可用于动态数量的自定义堆?

C ++ 17 std :: basic_string_view是否会使C字符串的使用无效?

在 Eclipse 上启用 C++17 以使用 `std::byte`

为什么在C ++ 17中没有std :: future :: then?

C ++ 17 std :: visit示例中令人困惑的模板

C ++ 17标准是否包含“ std :: byte”?

C ++ 17标准是否包含“ std :: byte”?