2010-07-09 38 views
2

字符* X =“一”; 如何将它转换为char y ='a';转换字符*短和焦炭

另外,如果我有一个简短的char * A = “100” 我怎样才能将其转换为短B = 100

感谢

+0

如果你的问题已经回答了,你还有一个问题,在这里接受的答案,问你的下一个问题是一个新问题。 – 2010-07-09 06:59:02

+0

世界上有什么是短字符? – 2010-07-09 08:15:35

+0

顺便说一下,除非你有一个很好的理由,否则你应该永远不要使用'short'类型。这很可能是缓慢的,没有好处,除非你正在做一个巨大的,所有适合'short'数字数组,但随后可能会更好使用特定大小的类型,比如'int16_t'。 – 2010-07-09 08:16:46

回答

4
char * x = "a"; 
char y = *x; //or x[0] 


char * a = "100"; 
short b = atoi(a); 

注意分配的atoi返回值短可能会导致溢出。

而且了解为什么strtol is preferred over atoi字符串到数字的转换。

0
  • char *可以用作字符数组。要获得的第一个字母,使用char y = x[0]
  • 字符串可以使用函数atoi
1

假设这是你想做的事被转换为数字,并没有在意错误检查:

char y= *x; 
short b= atoi(a);