广东话斯普利特和商店的hexstring我想拆分此十六进制串,转换EM和EM存储在数组中。 但是我的工作似乎有些不同,我不知道是什么。在阵列
我打算把这个字符串
27CA6B
拆分
27
CA
6B
但输出永远只有第一个字符串。 像
27
51819
0
请别人帮忙,这里是我的代码
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
int main(void)
{
char bc[] = "27CA6B";
char *theEnd;
long result;
long resulta;
long resultb;
long resultc;
result = strtol (bc, &theEnd, 0);
resulta = strtol (theEnd, &theEnd, 16);
resultb = strtol (theEnd, NULL, 0);
//int i = 0;
//printf("%c%c%c%c%c%c\n", bc[0], bc[1], bc[2], bc[3], bc[4], bc[5]);
printf("%ld\n", result, &bc[0]);
printf("%ld\n", resulta, &bc[1]);
printf("%ld\n", resultb, &bc[2]);
return 0;
}
注:'CA6B'是作为一个整体在十六进制有效。 –
是的,它是一个十进制的整个CA6B,但我希望它像我的意图分开 – user6318361
究竟是什么要求?你的第一段似乎想要将一个由6个字符组成的字符串分成3个字符串,每个字符都有两个字符,但是你的代码看起来像你必须转换一个十进制数,然后是一个十六进制数,然后是另一个十进制数。长度是否固定?没有分隔符吗? –