我已經嘗試了很多解決方案將字符轉換爲Ascii。他們都遇到了問題。將char轉換爲ASCII?
一個解決辦法是:
char A;
int ValeurASCII = static_cast<int>(A);
但是VS提到的static_cast是無效的類型轉換!
PS:我的A始終是特殊字符(而不是數字)
我已經嘗試了很多解決方案將字符轉換爲Ascii。他們都遇到了問題。將char轉換爲ASCII?
一個解決辦法是:
char A;
int ValeurASCII = static_cast<int>(A);
但是VS提到的static_cast是無效的類型轉換!
PS:我的A始終是特殊字符(而不是數字)
您可以使用字符的是單字節的整數之一。
呃,有什麼不對的:
#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;
}
srand?蘭德?從來沒有聽說過! – user2187476 2013-03-19 16:48:21
忽略它們 - 它們在「轉換」的「邏輯」中沒有區別;他們只是爲了確保每次運行程序時都會有不同的性格。我帶走了他們。 – 2013-03-19 16:49:42
int x = c;正在鑄造。你在這裏做的是隱式轉換,因爲'x'是整數,'c'是char。它相當於int x =(int)c(這是一個明確的強制轉換) – thinkquester 2013-03-19 16:52:44
一個char
是整型。當你寫
char ch = 'A';
你設置的ch
到任何數量的編譯器用來表示字符'A'
值。目前這通常是'A'
的ASCII碼,但這不是必需的。你幾乎可以肯定地使用一個使用ASCII的系統。
像任何數字類型,你可以用普通數字初始化:
char ch = 13;
如果你想要做的做一個char
值算術,只是做:ch = ch + 1;
等
然而,爲了顯示值,你必須得到iostream庫中的假設,你想顯示char
值爲字符而不是數字。有幾種方法可以做到這一點。
std::cout << +ch << '\n';
std::cout << int(ch) << '\n'
可能DUP http://stackoverflow.com/questions/5029840/convert-char-to-int-in-c-and-c – 2013-03-19 16:42:37
INT ValeurASCII =(INT)A: – Neppinger 2013-03-19 16:43:17
@Neppinger:爲什麼甚至投?! – 2013-03-19 16:43:35