输入类型铸造?
Input type casting?
我想获取一个输入字符,然后从中获取分配给字符的预定义数字。 例
int A=100;
char in;
cin>>in; //input A;
然后使用该in
字符来标识A
并传递它所包含的值。
对不起,如果我不太清楚。
正如在您的问题的评论中提到的,您想使用map
#include <map>
...
std::map<char, int> char_map = {
{'A', 100}
};
char in;
std::cin >> in; //input A;
std::cout << char_map[in] << std::endl;
当然,您可能需要在密钥上添加某种形式的验证。
简单的例子
#include <iostream>
#include <unordered_map>
int main(void)
{
char c;
std::unordered_map<char, int> uMap;
for (int i = 'A'; i <= 'Z'; i++)
{
uMap[i] = i - 'A' + 1;
}
c = fgetc(stdin);
std::cout << "nCharacter '" << c << "' has value " << uMap[c];
return 0;
}
输入
1. A
2. C
3. Z
输出
1. Character 'A' has value 100
2. Character 'C' has value 102
3. Character 'Z' has value 125
您的输入是一个字符,因此您也可以将其与其他一些字符进行比较
char input;
std::cin >> input; //input A;
std::cout << "input: " << input << std::endl;
if (input == 'A')
{
std::cout << "input was A: " << std::endl;
}
else
{
std::cout << "input was not: " << std::endl;
}
相关文章:
- 在一个模板函数中,若输入的类型是enum类,我该如何使用std::underlying_type
- ";结果类型必须是可从输入范围的值类型""构造的;创建std::vector时
- 当我输入字符类型的数字时,为什么我无法获得整数?
- C++模板编程设计问题 - 根据输入文件返回不同的类型
- 我想知道为什么"std::unique_ptr<int> foo(新 int)"是合法的,因为"std::<int>unique_ptr"要求输入参数类型应该是"int"?
- 需要有关运行具有输入类型的编译器的帮助
- 如何在 CPP 中检查给定输入的数据类型?
- 将空格作为单字符数据类型的输入?
- 在函数中使用运算符重载,在 c++ 中使用 const 类型输入参数
- 有没有办法将输入类型包装到C++中的模板类?
- 如果输入类型与目标类型不同,"cin"变量是否重置为某个默认值?
- 函数重载并根据相同的输入返回不同的数据类型
- C++ 从用户那里获取未知数据类型输入
- C 异质容器,作为类型输入
- 如何在无效的数据类型输入后继续循环
- WSDLPull 使用复杂类型输入
- 使用std::cin (c++)检查有效的类型输入
- 为已定义的变量传递错误的类型输入
- 如何验证数据类型输入
- c++中的混合数据类型输入