首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符转换为ASCII?

将字符转换为ASCII?
EN

Stack Overflow用户
提问于 2013-03-20 00:40:09
回答 3查看 151.1K关注 0票数 7

我尝试了很多解决方案来将char转换为Ascii。他们都有一个问题。

一种解决方案是:

代码语言:javascript
复制
char A;
int ValeurASCII = static_cast<int>(A);

但是VS提到static_cast是无效的类型转换!

PS:我的A总是一个特殊的字符(而不是数字)

EN

回答 3

Stack Overflow用户

发布于 2013-03-20 01:32:04

char是一种整型。当你写的时候

代码语言:javascript
复制
char ch = 'A';

ch的值设置为编译器用来表示字符'A'的任何数字。这通常是目前'A'的ASCII码,但这并不是必需的。几乎可以肯定,您使用的是使用ASCII的系统。

与任何数字类型一样,您可以使用普通数字对其进行初始化:

代码语言:javascript
复制
char ch = 13;

如果你想对一个char值做算术运算,那就去做:ch = ch + 1;等。

但是,为了显示值,您必须绕过iostreams库中的假设,即您希望将char值显示为字符而不是数字。有几种方法可以做到这一点。

代码语言:javascript
复制
std::cout << +ch << '\n';
std::cout << int(ch) << '\n'
票数 13
EN

Stack Overflow用户

发布于 2013-03-20 00:46:50

嗯,这有什么问题:

代码语言:javascript
复制
#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;
}
票数 7
EN

Stack Overflow用户

发布于 2013-03-20 00:43:53

您可以按原样使用字符作为单字节整数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15505375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档