标题:【求助】将字符串s,转换为整数,其中s为16进制数对应的字符串,例如“0x2f ...
只看楼主
sujiabao
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-7-17
结帖率:0
已结贴  问题点数:1 回复次数:2 
【求助】将字符串s,转换为整数,其中s为16进制数对应的字符串,例如“0x2f”,其中0x为16进制的前缀。
将字符串s,转换为整数,其中s为16进制数对应的字符串,例如“0x2f”,其中0x为16进制的前缀。
搜索更多相关主题的帖子: 0x2f 进制 前缀 整数 字符 
2010-11-03 21:39
kwbplcz
Rank: 2
等 级:论坛游民
帖 子:12
专家分:51
注 册:2010-11-3
得分:0 
使用如下API:
#include <stdlib.h>
unsigned long strtoul( const char *nptr, char **endptr, int base );


其中,
const char *nptr 表示要转换的字符串;
char **endptr 填为NULL即可;
int base 表示要转换的字符串的进制,例如10,16,8,2等;


例子1:
char s[100] = "0F";
unsigned long i = strtoul(s,NULL,16);

则 i = 15;

例子2:
char s[100] = "12";
unsigned long i = strtoul(s,NULL,10);

则 i = 12;

真的不想研究技术.
2010-11-04 10:29
shadow_rong
Rank: 2
等 级:论坛游民
帖 子:7
专家分:34
注 册:2010-11-1
得分:0 
如果本身就是字符串,那就做单字节比较,然后一个一个取,遇到空格之前的,和0x之后的是一个数。。

建议做 "safsda10safdsafwer20efsffd30"  把里面的数字全加起来............

不是单独的转换那么简单的,建议没学Win32编程之前全部都是自己实现,不要用STL.

  char test[10] = {0};
  
  strcpy(test, "0x2f");
  
  printf("%d",*test);   

就这么一个代码.
2010-11-04 13:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-324901-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.651560 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved