[英]cin doesn't work with typecaset
以下程序无法编译。
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
char c;
cin >> (int)c; // stat 1
//scanf("%d", &c); //stat 2; this when complied gives warning
cout << c << endl;
}
一季度。 如何使用cin
接受一个字符的ASCII值。 我想使用 char 变量来实现。
Q2。 如果确保用户输入的值在字符范围内,则stat 2将始终产生所需的结果。
所以你想能够输入例如97
并且输出得到'a'
? 然后读入一个实际的int
并将int
变量转换为输出中的一个字符。 即几乎与你现在所做的相反:
int c;
std::cin >> c;
std::cout << static_cast<char>(c);
如果要确保输入是有效字符,请使用例如std::isalpha
或其他字符分类函数之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.