初始化字符串

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <string>
using namespace std;
char file[]="hexstr.h";
bool str2hex(string str,string name)
{
    FILE* fp=fopen(file,"a+");
    fprintf(fp,"#define Init_%s() unsigned char %s[%d]={0};\
",name.c_str(),name.c_str(),str.length()+1);
    fprintf(fp,"{\
");
    char buf[10240]={0};
    sprintf(buf,"%s",str.c_str());
    for(int i=str.length()/2-1;i>=0;--i)
    {
        fprintf(fp,"%s[%d]=0x%x;\
",name.c_str(),i,buf[i]);
    }
    for(int i=str.length()/2;i<str.length();++i)
    {
        fprintf(fp,"%s[%d]=0x%x;\
",name.c_str(),i,buf[i]);
    }
    fprintf(fp,"}\
");
    fclose(fp);

    return false;
}
int main()
{
    ::remove(file);
    str2hex("darren","user");

    return 0;
}
原文地址:https://www.cnblogs.com/yuandaozhe/p/11404769.html