高分急:c#可以产生16进制文件吗?
同题目,我想生成16进制文件,生成这个文件可以直接用16进制编辑器打开,这个文件中比如offset都应该由程序指定。如果c#实现不了,需要用什么实现?最好给代码演示,多谢高手! 问题点数:100、回复次数:11Top
1 楼asptoc(破冰者)回复于 2006-03-04 18:44:50 得分 0
可怜的人,你的信誉值68,超超低,要记着结贴哦。Top
2 楼dongpo1(dongpo1)回复于 2006-03-04 19:00:08 得分 0
不好意思,最近没来得及,刚才处理了一下,把所有帖子都结了Top
3 楼raulredondo()回复于 2006-03-04 23:09:38 得分 0
FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(......) 随便什么基本类型都能写Top
4 楼fancyf(凡瑞)回复于 2006-03-05 03:12:55 得分 0
>>offset都应该由程序指定
可以用
FileStream.Position
StreamWriter.BaseStream.Position
StreamReader.BaseStream.Position
……
来指定offset
他们都有一个SetLength方法可以修改文件长度Top
5 楼hdt(倦怠)回复于 2006-03-05 08:26:27 得分 0
16进制文件???
Top
6 楼dongpo1(dongpo1)回复于 2006-03-05 10:18:11 得分 0
是的,16进制文件,我想用程序 可以操作16进制文件,可以 决定 某一string 在16进制中的 offset ;可以 按offset来取得这个stringTop
7 楼dongpo1(dongpo1)回复于 2006-03-05 14:32:36 得分 0
用C或C++怎么实现呢Top
8 楼hdt(倦怠)回复于 2006-03-05 17:28:02 得分 0
只听说有二进制文件
Top
9 楼fancyf(凡瑞)回复于 2006-03-05 18:15:38 得分 0
用fseek
MSDN中的示例:
Example
// crt_fseek.c
/* This program opens the file FSEEK.OUT and
* moves the pointer to the file's beginning.
*/
#include <stdio.h>
int main( void )
{
FILE *stream;
char line[81];
int result;
stream = fopen( "fseek.out", "w+" );
if( stream == NULL )
printf( "The file fseek.out was not opened\n" );
else
{
fprintf( stream, "The fseek begins here: "
"This is the file 'fseek.out'.\n" );
result = fseek( stream, 23L, SEEK_SET);
if( result )
perror( "Fseek failed" );
else
{
printf( "File pointer is set to middle of first line.\n" );
fgets( line, 80, stream );
printf( "%s", line );
}
fclose( stream );
}
}
Output
File pointer is set to middle of first line.
This is the file 'fseek.out'.
Top
10 楼LifeAndC(蓝色忧郁)回复于 2006-03-05 20:28:34 得分 0
int a = 15;
Console.WriteLine( a.ToString( "{X}" ) );
可以给你这么点提示。Top
11 楼dssw(易腾软件--开发软件的软件 http://www.etoward.com/)回复于 2006-03-05 20:55:53 得分 0
转换成字节,在转换Top




