2013-03-25 106 views
0

如何將字符串轉換爲char?字符串char - C++

我已經谷歌搜索,我沒有找到我的情況的答案。真的,我試圖將int轉換爲字符,但我的編譯器不支持to_string函數,所以我決定將int轉換爲字符串,然後將字符串轉換爲char。

我正在使用char [] [],所以我可以存儲整數和字符。

stringstream ss; 
ss << j; // j is the integer 
string s(ss.str()); 
ascii_text[1][i] = (char)s; 

編輯:

我與ASCII字符的工作。

這就是我想要做的。 int a = 10; - > string s =「10」; - > char c ='10';

如果我找到一種直接將int轉換爲char的方法,我會很高興。

+0

你通過這樣認爲? – Rapptz 2013-03-25 20:12:54

+0

http://stackoverflow.com/questions/9655202/how-to-convert-integer-to-string-in-c – Dave 2013-03-25 20:13:34

+0

@Rapptz是的。你爲什麼要問? – 2013-03-25 20:13:45

回答

0

你應該能夠只是做

int j = 3; 
char ch; 
stringstream ss; 
ss << j; 
ss >> ch; 
+0

如果字符串是「61」,它只返回'6'。 – 2013-03-25 20:19:24

+0

我的代碼中沒有字符串。他正試圖轉換一個int,他沒有理由使用一個字符串。 – DiegoNolan 2013-03-25 20:24:40

3

如果我理解正確的話,那麼所有你想要做的就是從一個整數數字(0-9),以一個ASCII數字得到('0'- '9')?在這種情況下,char(j)+'0'會做。

+0

還得添加十個地方http://stackoverflow.com/a/7022827/195488,如果要去int – 2013-03-25 20:16:10

+0

@ 0A0D你是什麼意思? – Cubic 2013-03-25 20:18:45

+0

@Cubic我已經試過了,我得到了ASCII字符,就像20會給空間而不是'20'。 – 2013-03-25 20:25:00

2

我如何將字符串轉換成char?

好的。如果你的意思char*,則std::string類有一個c_str()方法:

std::string myString = "hello"; 
const char* myStr = myString.c_str(); 

一個char具有1個字節的大小,所以你不能在上面安裝任何字符串,除非該字符串爲1的長度。您可以然而獲得焦炭在某個位置的字符串:

std::string str = "hi bro"; 
char c = str[0]; // This will be equal to 'h' 
+2

'std :: string :: c_str'返回一個'const char *'。 – 2013-03-25 20:22:31

+0

你是對的。編輯。 – 2013-03-25 20:27:26