用MFC编写的对一个文件的字符串进行解析,然后写到另外一个二进制文件

阿佘 2011-12-08 04:51:33
0000 | 6 | 7 | 自动 | 手动 | 编辑 | 参数 | 诊断 | 图库 | 帮助 |
0042 | 8 | 8 |关于产品|自动功能|手动功能|编辑功能|参数设置|自检功能|


第一个文件形式如上,第一个参数是地址偏移量,第二个参数是字符串所占字长,第三个参数是同类字符串有几个,最后的就是这些字符串。 现在我想把这几个参数都取出来,然后根据偏移量来把字符串写到二进制文件的指定位置,用MFC写了一段,对MFC使用不熟,中间实现的那块没有完善,不能把我想要的上面的数字以及字符串给读出来,寻求高手帮忙写完
我的代码是这样的一段
FILE *sfile;
FILE *dfile;
char itemcontent[1024];
sfile = fopen(sourcefilename,"r");
if(sfile != NULL)
{
CString strtemp,content;
long findaddr;
int len,num;
long addr;
char *stop;
while(!feof(sfile))
{
fgets(itemcontent,1024,sfile);
TRACE("itemcotent = %s\n",itemcontent);
strtemp.Format("%s",itemcontent);
while(strtemp.GetLength() > 0)
{
findaddr = strtemp.Find("|",0);
if(findaddr == -1) break;
content = strtemp.Left(findaddr);

len = atoi((LPSTR)(LPCTSTR)content);
TRACE("content = %s\n",content);
TRACE("len = %d\n",len);
strtemp.Delete(0,findaddr+1);
num = atoi((LPSTR)(LPCTSTR)content);
TRACE("num = %d\n",num);
}
}
fclose(sfile);
...全文
92 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tab0tab 2011-12-09
  • 打赏
  • 举报
回复
可用xml文件或ini文件,如果用ini文件非常简单,GetPrivateProfileString(), WritePrivateProfileString()就可读写出指定的字符串
阿佘 2011-12-09
  • 打赏
  • 举报
回复
现在我有个思路就是每次就只向bin文件写一行,找到第一列的地址,然后写入bin文件中,这样的话,读字符串又是个麻烦事,寻求个帮助
阿佘 2011-12-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tab0tab 的回复:]
可用xml文件或ini文件,如果用ini文件非常简单,GetPrivateProfileString(), WritePrivateProfileString()就可读写出指定的字符串
[/Quote]
对ini文件不熟悉,不过知道在pc下这类文件非常多,请多多指点一些

65,186

社区成员

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

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