【问题标题】:atoi() from hex representation stringatoi() 来自十六进制表示字符串
【发布时间】:2013-12-18 09:39:13
【问题描述】:

需要从像 "0xFA" 或更好的 "FA" 这样的十六进制表示字符串生成 int。需要像atoi("FA") 这样的东西。是否有任何标准解决方案?

【问题讨论】:

标签: c atoi


【解决方案1】:

尝试使用strtol():

strtol("FA", NULL, 16);

【讨论】:

  • 注意:它也适用于0xFA:“(可选)前缀(0x 或 0X)表示十六进制基数(仅当基数为 16 或​0​时适用)”
  • 对于无符号的,你应该使用strtoul()来正确处理像“0x81234567”这样的字符串,否则你会得到0xFFFFFFFF返回。
猜你喜欢
  • 2011-08-27
  • 1970-01-01
  • 2015-11-20
  • 1970-01-01
  • 2013-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-04
相关资源
最近更新 更多