我有一个名为 romflasher 的工具,它接受两个字符串命令行参数--s-addr0
和--e-addr0
romflasher --s-addr0 0x1c40000 --e-addr0 0x1e40000
在我的程序 romflasher.c 中
char s_addr_0[256];
char e_addr_0[256];
uint32_t start_addr = strtoull(s_addr_0,(char**)NULL,16);
uint32_t end_addr = strtoull(e_addr_0,(char**)NULL,16);
只要用户将地址指定为十六进制就可以正常工作。我想让用户可以选择以十进制和十六进制指定它。是否有一个函数可以根据'0x'
前缀的存在进行适当的字符串转换到正确的基地?