社区
其它技术问题
帖子详情
有没有API可以在文件中精确定位地修改指定的一个或者若干个字节。
Mauney
2005-01-26 01:52:33
有没有API可以在文件中精确定位地修改指定的一个或者若干个字节。
...全文
145
8
打赏
收藏
有没有API可以在文件中精确定位地修改指定的一个或者若干个字节。
有没有API可以在文件中精确定位地修改指定的一个或者若干个字节。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Mauney
2005-01-26
打赏
举报
回复
原来如此,多谢,多谢。
马上结贴给分。
谢谢,谢谢!
Maconel
2005-01-26
打赏
举报
回复
WriteFile(FileHandle,str,(DWORD)sizeof(str),&length,NULL);
是这里错了,str是个char*型的,不管它指向哪里,他的sizeof始终是4,你可以显示出来看一下。
解决方法是改为strlen(str)。
Mauney
2005-01-26
打赏
举报
回复
Maconel(Maconel)能不能解释一下为什么我每次只能写4个字节到文件里?
以下是我的代码:
char *filename = "d:\\aa.txt", *str = "c";
DWORD length;
HANDLE FileHandle = CreateFile(filename,GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(FileHandle == INVALID_HANDLE_VALUE)
MessageBox(NULL,"File cannot be opened.","Infor",MB_OK);
else
MessageBox(NULL,"File has been opened successfully.","Infor",MB_OK);
SetFilePointer(FileHandle,50,NULL,FILE_BEGIN);
WriteFile(FileHandle,str,(DWORD)sizeof(str),&length,NULL); //虽然用了SIZEOF
但是每次只能固定地
写4个字符。无论str
的实际大小是多少。
CloseHandle(FileHandle);
请问错在什么地方??为什么每次都是写4 个字节,而不是按照sizeof(str)的大小。
gnixemos
2005-01-26
打赏
举报
回复
C 库函数 fseek fread fwrite
windows Api :SetFilePointer ReadFile WriteFile
MFC : CFile对象的seek ...
hxblvc
2005-01-26
打赏
举报
回复
"精确定位" 有现成的API 如:fseek()
"修改" 没有直接的API.要通过fread().fwrite()来完成.
kay_zlc
2005-01-26
打赏
举报
回复
Most of file APIs provides functions such as seek,read,write...
So they can meet your requirements.
Maconel
2005-01-26
打赏
举报
回复
OpenFile 打开文件
ReadFile 读文件
SetFilePointer 定位到文件中某处
WriteFile 写文件
CloseHandle 关闭文件
Mauney
2005-01-26
打赏
举报
回复
最好写得详细一点。
从
一个
class
文件
深入理解Java
字节
码结构
前言 我们都知道,Java程序最终是转换成class
文件
执行在虚拟机上的,那么class
文件
是个怎样的结构,虚拟机又是如何处理去执行class
文件
里面的内容呢,这篇文章带你深入理解Java
字节
码
中
的结构。 1.Demo源码 首先,编写
一个
简单的Java源码: package com.april.test; public class Demo { private int n...
C++
修改
/覆盖
指定
位置的
文件
内容或者从某个位置开始截断
文件
最新在进行
文件
方面的功能开发。遇到个这样的问题:(1)
文件
读到
中
间,然后进行一些
修改
,(2)然后将
文件
从
修改
后的地方截断。本以为这是个简单的操作,却花费了好大的功夫(网上并没有这样的例子,一通尝试)。现在终于圆满解决了,特地记录一下,方便后来人。 1.
修改
/覆盖
指定
位置的
文件
内容 【ps】下文一直提到
文件
中
间区域位置,就是指非
文件
开头和结尾的位置。为什么强调这个呢?因为开头和结尾就是很常规的就...
Android 进阶之路:ASM
修改
字节
码,这样学就对了!
看了很多 ASM 入门的文章,都感觉文章写的很轻松,站立的高度都太高了,我个人觉得想要能够编写 ASM 相关代码,能看懂
字节
码是必不可少的,所以本文会以
字节
码为切入点,带大家简单的入门一下 ASM。 Java Class
文件
结构 大家都知道*.java
文件
经过 javac 编译之后会生成 *.class
文件
,*.class
文件
会被 Java 虚拟机进行加载。 Java 虚拟机之所有能够加载class
文件
,前提肯定是能够按照某种规则读取 class
文件
的内容。 那么这个规则就是*.clas
Android 进阶之路:ASM
修改
字节
码,这样学就对了
[](()引入 ASM 好了,下面我们开始正式学习 ASM。 首先我们找到ASM 的官网: https://asm.ow2.io/ 在官网你可以看到目前最新的版本,还有一份详细的 User guide,基本包含了所有
API
的介绍。 看官网上版本迭代目前已经跟新到9.1了,那就试用最新版本吧: // https://mvnrepository.com/artifact/org.ow2.asm/asm-commons implementation group: ‘org.ow2.asm’, name: ‘.
如何利用JClassLib
修改
.class
文件
最近在学习逆向分析和反编译,无意之
中
了解到了JClassLib。JClassLib不但是
一个
字节
码阅读器而且还包含
一个
类库允许开发者读取,
修改
,写入Java Class
文件
与
字节
码。其他的用途我就不说了,先看一下效果。 第一步、准备下载工具,
一个
是jd-gui,阅读jar包和.class源码的工具,jclasslib就
修改
.class
文件
的包 下载地址 第二步、示范
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章