繁体   English   中英

cin 不适用于 typecaset

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM