仅将输入的第一个字符用于 char 变量
Only using the first character of an input to char variable
所以我需要这个输入只使用输入的第一个字符
cout << "nEnter option ===> ";
cin >> selection;
selection = toupper(selection);
例如,如果您输入"hOttTtt",则只应查看H。
如果我不这样做,它将每个字母作为输入。
default:
cout << "nPlease enter H,D,S,L,F, or X";
cout << "nEnter option ===> ";
cin >> x;
x = toupper(x);
这是 switch 语句的一部分,如果它不是某个字母,如果有帮助,则运行。
任何帮助将不胜感激。
如果输入可能包含空格,则应使用std::getline
而不是单独使用std::cin
。这只是很好的做法,即使您的唯一目的是查看输入的第一个字符。
无论如何:
std::string selection;
std::cout << "Say something: ";
std::getline(std::cin, selection);
char fstCh = selection.at(0);
在此之后,fstCh
将包含 selection
中输入的第一个字符。如果您改用原始char []
数组,则selection[0]
.
相关文章:
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 将 std::string 转换为 const char* 用于 printf 消耗
- 为什么现代C 仍然保留旧的C样式原型,用于int argc,char ** argv
- char,const char*阵列问题,用于mqtt client.publish
- 我如何将 c++ 中的向量序列化为 char,以便于将 mondodb 用于后端
- 用于检查 char 数组是否仅包含允许的字符的函数
- 仅将输入的第一个字符用于 char 变量
- cin.get()不适用于char阵列
- 值类型 const char 不能用于初始化 char* 类型的实体
- 将SWIG应用于C++时,f1(const char*str)与f1(char*str)是否不同
- "char *" 类型的值不能用于初始化类型 "char" 的实体
- std::getline 用于 ifstream,使用参数字符串或 char *
- char的值不能用于初始化char*的实体
- itoa()的C++标准替代品,用于将int转换为基本的10 char*
- 将 char 的值传递到字符串中以用于比较
- 如何将 std::string 用于 char* 输出参数
- 模板的类型定义包括char[][] - 适用于VS2008,但不适用于gcc
- 错误:无法在赋值中将"char*"转换为"int*"(也适用于'double*'转换为"int*")
- 为什么 std::hash 不是<T>专门用于 char*?
- C++用于char类型的循环