2013-03-25 85 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