gpt4 book ai didi

不使用标准库的十六进制 C 代码

转载 作者:太空宇宙 更新时间:2023-11-04 05:00:28 26 4
gpt4 key购买 nike

我想编写 C 代码,将第一个字符串转换为整数,然后将整数转换为十六进制。例如:我的 Ip iddress 为“172.24.18.240”现在首先从中找出第一个点并取它前面的数字“172”将其转换为整数然后将其转换为十六进制它应该对所有像 24 一样,18,240 并转换成长整型值

感谢任何帮助。

最佳答案

#include <stdio.h> // testing
int main(int argc, char** argv) // testing
{
char* ipString = argc > 1? argv[1] : "172.24.18.240"; // testing
char* ip = ipString;
unsigned int hex;

for( int i = 0; i < 4; i++ ){
unsigned int n = 0;
for( char c; (c = *ip) >= '0' && c <= '9'; ip++ )
n = 10 * n + c - '0';
hex = (hex << 8) + n;

if( *ip == '.' ) ip++;
}

printf("%08X\n", hex); // testing
return 0; // testing
}

关于不使用标准库的十六进制 C 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4966121/

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