字符串转字节数组,求一个函数

我看你有戏 2016-08-13 09:21:58
char* pData = "00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 40 2e 64";
需要转成一个字节数组 BYTE aryby[]={0x00,0x3a,0x00,0x00.........,0x40,0x2e,0x64};

求一个转化函数,谢谢
...全文
211 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻夢之葉 2016-08-16
  • 打赏
  • 举报
回复
int len = strlen(pData); memcpy(aryby, pData, len*sizeof(char));
lm_whales 2016-08-13
  • 打赏
  • 举报
回复
读取两个字符转换为对应的单字节字符 C语言 int c=0; sscanf (s,"%2x",&c); aryby[i]=c; 现在也可以用 hh前缀 sscanf (s,"%2hhx",aryby+i);
赵4老师 2016-08-13
  • 打赏
  • 举报
回复
仅供参考:
#include <stdio.h>
#include <string.h>
#include <conio.h>
FILE *fi,*fo;
int r;
unsigned int n,c;
long offset;
//-------------------------------------------------------
void main(int argc,char *argv[])
{
    if (argc<3) {
        cprintf("Hex2Bin srcfile desfile");
        return;
    }
    if ((fi=fopen(argv[1],"rb"))==NULL) {
        cprintf("Can not find file %s",argv[1]);
        return;
    }
    if ((fo=fopen(argv[2],"wb"))==NULL) {
        fclose(fi);
        cprintf("Can not create file %s",argv[2]);
        return;
    }
    n=0;
    while (1) {
        offset=ftell(fi);
        r=fscanf(fi,"%2x",&c);
        if (EOF==r) break;//
        if (1==r) {
            fputc(c,fo);
            n++;
        } else {//0==r
            fseek(fi,offset,SEEK_SET);//因为VC6的Release版及其VC7,8,9,10,...版的fscanf未按约定保持offset不变,所以此处必须恢复offset
            r=fgetc(fi);
            if (EOF==r) break;//
        }
    }
    fcloseall();
    cprintf("OK to Hex2Bin %d bytes.",n);
}

64,664

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧