use*_*476 6 c++ visual-studio-2010
我已经尝试了很多解决方案来将char转换为Ascii.他们所有人都遇到了问题.
一个解决方案是:
char A;
int ValeurASCII = static_cast<int>(A);
Run Code Online (Sandbox Code Playgroud)
但是VS提到static_cast是一种无效的类型转换!
PS:我的A总是其中一个特殊的字符(而不是数字)
Pet*_*ker 13
A char是整数类型.当你写作
char ch = 'A';
Run Code Online (Sandbox Code Playgroud)
您将值设置为ch编译器用于表示字符的任何数字'A'.这通常是'A'这些天的ASCII代码,但这不是必需的.您几乎肯定会使用使用ASCII的系统.
与任何数字类型一样,您可以使用普通数字对其进行初始化:
char ch = 13;
Run Code Online (Sandbox Code Playgroud)
如果你想对char值进行算术运算,那就去做:ch = ch + 1;等等
但是,为了显示您必须绕过iostreams库中的假设,您希望将char值显示为字符而不是数字.有几种方法可以做到这一点.
std::cout << +ch << '\n';
std::cout << int(ch) << '\n'
Run Code Online (Sandbox Code Playgroud)
嗯,这有什么不对:
#include <iostream>
using namespace std;
int main(int, char **)
{
char c = 'A';
int x = c; // Look ma! No cast!
cout << "The character '" << c << "' has an ASCII code of " << x << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
142946 次 |
| 最近记录: |