求助,找十六进制並把它变英文字/符号
本帖最后由 kkken 于 2021-11-13 15:33 编辑如何寻找char arr[]中的十六进制並把它变英文字/符号 等等
eg.
cin>>ab%63;
ans: abc;
cin>>ab%63%6fef;
ans: abcoef
cin>>co%6fk
ans:cook
只能用cstring, iostream为library
谢谢。 本帖最后由 jhq999 于 2021-11-13 05:37 编辑
{:5_104:} 发重了 本帖最后由 jhq999 于 2021-11-13 05:44 编辑
#include <stdio.h>
#include <iostream>
using namespace std;
int main ()
{
char a={0},b={0};
int i=0,j=0,k=0,charval=0;
cin>>a;
i=0;
while(a)
{
if('%'==a)
{
j=1;
while(a>='0'&&a<='9')j++;
for (k = 0; k<j-1; k++)
{
b=a;
}
b='\0';
sscanf(b,"%x",&charval);
a=charval;
j--;
for (k=i+1; a; k++)//可以用#include <cstring>里的strcpy(a+i+1,a+i+1+j);
{
a=a;
}
a=a;
}
i++;
}
printf("%s",a);
return 0;
}
jhq999 发表于 2021-11-12 22:53
如果%6f, %5a 等,要如何转成英文字?
谢谢。 本帖最后由 jhq999 于 2021-11-13 11:14 编辑
kkken 发表于 2021-11-13 10:32
如果%6f, %5a 等,要如何转成英文字?
谢谢。
我考虑多了
去掉
while(a>='0'&&a<='9')j++;
用
j=3;
代替
既然出现字母,那一定是定长的
页:
[1]