gpt4 book ai didi

c - 如何将字符串转换为十六进制?

转载 作者:太空狗 更新时间:2023-10-29 15:51:10 24 4
gpt4 key购买 nike

我有一个字符串 0xFF,是否有像 atoi 这样的函数读取该字符串并以 uint32_t 格式保存?

最佳答案

你也可以用这样的函数来完成。

unsigned int foo(const char * s) {
unsigned int result = 0;
int c ;
if ('0' == *s && 'x' == *(s+1)) { s+=2;
while (*s) {
result = result << 4;
if (c=(*s-'0'),(c>=0 && c <=9)) result|=c;
else if (c=(*s-'A'),(c>=0 && c <=5)) result|=(c+10);
else if (c=(*s-'a'),(c>=0 && c <=5)) result|=(c+10);
else break;
++s;
}
}
return result;
}

例子:

 printf("%08x\n",foo("0xff"));

关于c - 如何将字符串转换为十六进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10746450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com