首页
社区
课程
招聘
[求助]如何将内存的某段数据输入到文本文件中?
发表于: 2009-8-2 15:19 4227

[求助]如何将内存的某段数据输入到文本文件中?

2009-8-2 15:19
4227
如何将内存data处的某段数据 比如"02 E0 23 EE 3A 5B" 输入到文本文件中 dll动态库代码怎样写?
我自己写的代码输出为2FF23FF3A5B      输出大于ASCLL值的总是显示FF

下面是我写的dll中的函数
不知道需要修改什么地方 请高手指点一下 谢谢

EXTERN_C void WINAPI Command(int hic, int cmd, char* data)
{
        char temp[100];
        HANDLE hFile;
        int i;
        DWORD dw;

        hFile =CreateFile("c:\\text.log", GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

        for(i=0;i<16;i++)
        {
                wsprintf(temp, "%2X", *data);
                data++;
                WriteFile(hFile, temp, strlen(temp), &dw, NULL);
        }       

        CloseHandle(hFile);
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
2
使用下面的函数试试
void *memcpy(
   void *dest,
   const void *src,
   size_t count 
);
2009-8-2 17:14
0
雪    币: 186
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不是内存简单拷贝 而是要把函数Command(int hic, int cmd, char* data)
中的*data数据写到文本文件里 以EB AF 3D EE的格式显示
2009-8-2 22:21
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
把data换成unsigned char*试一下。
2009-8-3 02:14
0
雪    币: 158
活跃值: (43)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
楼上狐狸的一栏,版面有点不对称.
2009-8-3 18:35
0
雪    币: 7992
活跃值: (2566)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
说实话不太懂题目的意思..

不过对于"

输出大于ASCLL值的总是显示FF"

这句话来说.可以定义为Unicode字符串来处理即可.Unicode编码下,基本字符都可以输出.
2009-8-3 18:48
0
雪    币: 186
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
非常感谢 可以正常打印出来 只是02 0A 之类的只显示出“ 2” “ A”  
0被显示成空格
2009-8-4 13:39
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
wsprintf(temp, "%02X", *data); 2X前面要加零
2009-8-4 15:11
0
雪    币: 186
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢 已经解决 正要上来汇报 没想到楼上的朋友先我一步 还是多谢啊
2009-8-4 15:43
0
游客
登录 | 注册 方可回帖
返回
//