简单的问题,从文本文件中得到相应格式的字符串

SmartHeart 2001-07-26 11:45:14
如何把类似下列格式的字符串
"\\033ABCD\\x12"
转换为以下格式的字符串
"\x1bABCD\x12"

即:
char source[] = "\\033ABCD\\x12";

char result[] = "\033ABCD\x12";

如何从source转换到result????
...全文
143 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
SmartHeart 2001-07-28
  • 打赏
  • 举报
回复
结贴
Szhb 2001-07-27
  • 打赏
  • 举报
回复
用CString类的Replace方法
Semigod 2001-07-27
  • 打赏
  • 举报
回复
用这一段试试
char * pSource = ....; //指向source的指针
cahr * pResult = ....; //指向result的指针,自已填吧
while (* pSource)
{
if ( *(WORD *)pSource == '\\\\')
{
* pResult++ = '\';
pSource +=2;
}
else
* pResult++ = * pSource++;
}
* pResult = NULL;
wjyasd 2001-07-27
  • 打赏
  • 举报
回复
能用就行了…… ^&^
SmartHeart 2001-07-27
  • 打赏
  • 举报
回复
临睡前up一下
SmartHeart 2001-07-27
  • 打赏
  • 举报
回复
wjyasd,好像也只能这样的。
我一直在想用sprintf 或者用 vsprintf类似的函数来完成呢。
wjyasd 2001-07-27
  • 打赏
  • 举报
回复
有点乱,你将就着看吧! 必要的参数自己修改一下:


char source[] = "\\033ABCD\\x12";
char result[] = "\033ABCD\x12";

char tmp[100];
char t1[4];
int cur=0;
int t=0;
int len=(int)strlen(source);

memset(t1,'\0',4);
for(int i=0;i<=len-1; )
{
if(source[i]=='\\' && source[i+1]=='0')
{
memset(t1,'\0',4);
strncpy(t1,&source[i+1],3);
sscanf(t1,"%i",&t);
tmp[cur++]=t;
i=i+4;
}
else if(source[i]=='\\' && source[i+1]=='x')
{
memset(t1,'\0',4);
strncpy(t1,&source[i+2],2);
sscanf(t1,"%x",&t);
tmp[cur++]=t;
i=i+3;
}
else
{
tmp[cur++]=source[i++];
}
if(i==len-1)
break;

}
wjyasd 2001-07-27
  • 打赏
  • 举报
回复
1 读如1个字符
2 判断是否为 '\',否则执行1 读入下一个字符
3 读入后一个字符,判断是否 '0' , 不是的话 1
4 转化一个8进制的数到16进制
5 循环,到结束
wjyasd 2001-07-27
  • 打赏
  • 举报
回复
让我想想!
SmartHeart 2001-07-27
  • 打赏
  • 举报
回复
up
SmartHeart 2001-07-27
  • 打赏
  • 举报
回复
up
SmartHeart 2001-07-27
  • 打赏
  • 举报
回复
不对啊,我不是要这种结果的。
以16进制表示:
source = 0x5c 0x30 0x33 0x33 0x41 0x42 0x43 0x44 0x5c 0x77 0x31 0x32
result = 0x1b 0x41 0x42 0x43 0x44 0x12

也就是说,如以下:
memcpy(result,"\033ABCD\x12",5);
这样的话,结果是上述结果。现在我想把第二个参数从文本文件中取出,文本文件中以gets的形式。可是,取出后如何转换为以上格式呢?
wjyasd 2001-07-27
  • 打赏
  • 举报
回复
gz!
SmartHeart 2001-07-27
  • 打赏
  • 举报
回复
Szhb,怎么用呢?

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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