社区
C++ 语言
帖子详情
vc读取big endian字节序的二进制文件
donenei
2008-12-03 05:15:02
各位vc高手,我现在读取一个big endian字节序的二进制文件,怎样将每四个字节装换成一个float型数据?我是初学者,请大家多多指教!
...全文
96
2
打赏
收藏
vc读取big endian字节序的二进制文件
各位vc高手,我现在读取一个big endian字节序的二进制文件,怎样将每四个字节装换成一个float型数据?我是初学者,请大家多多指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
donenei
2008-12-05
打赏
举报
回复
谢谢!已经可以了。
simo110
2008-12-03
打赏
举报
回复
你的芯片是x86系列的话,
char data[4];
int a;
memcpy(data, 你的数据, 4);
reverse(data);//把data中的数据反转
memcpy(a,data,4);
就好了。
不过这是整数
winxp系统结构5课(注册表)->1认识注册表
winxp系统结构5课(注册表)->1认识注册表
作者:netcicala 来源:www.netcicala.com 发布时间:2007-7-4 19:56:01
减小字体 增大字体
一.计算机原理2课(硬件)->
二.计算机脚本技术25课(DOS命令/批处理/VBS脚本)->
三.winxp系统结构5课(注册表)->
四.计算机病毒原理5课(VBS/
VC
语言实现)->
五.网络安全及其网络软件应用10课->
六.VB6.0程序设计入门10课->
七.C语言程序设计入门10课->
时间:每周一,二,四8:00~9:00。
UC房间:黑客家族网络安全
本人UC号:38378943 83034769
winxp系统结构5课(注册表)->1认识注册表
时间:6月28日晚20点30-22点
地点:UC聊天室-> 黑客家族网络安全
讲义地址:http://www.netcicala.com/article/sort015/info-251.html
大概内容:FSO 对象
主讲:网蝉。
WINXP的系统结构:
==============================================================
windows启动过程:
1,windows的启动过程:
一,winxp首先加载NTLDR
文件
。 此
文件
位于:C:根目录下。
二,初始化:NTLDR加载后会将处理器从实模式转化为32位保护模式。
三,
读取
boot.ini
文件
,c:\下的boot.ini和bootsect.dos配合来完成多操作系统的管理。
四,加载NtDetect.com
文件
:此
文件
的作用是检测计算机硬件,如并口,显示适配器等设备,
并将收集到的信息的硬件列表返回NTLDR用于以后的注册表中注册保存。
五,选择硬件配置
文件
,一般WINxp会按照默认形式加载,如要修改,可直接到设备管理器中进行修改。
六,装在内核:NtOsKrNl.exe 此
文件
位于windows\system32目录下。
七,HAL加载:HAL=硬件抽象层,系统会采用HAL来隐藏特定平台的硬件接口细节。
为操作系统提供虚拟硬件平台,使其具有硬件无关性。
八,内核初始化,NTLDR将控制权交给NtOsKrNl.exe,
九,开始装并初始化设备驱动程序,启动win32子系统和winxp的各项服务系统。
十,win32子系统启动winlogon.exe,并启动LSASS.EXE显示登陆对话框,同时windows也会配置网络设备/用户环境,
个性化设置等信息。
=====================================================
windows注册表
注册表的用途:
用来记录windows系统配置信息和软件配置情况的数据库。
什么是系统配置情况? 例如你把显示器分辨率变成800*600的了,下次启动的时候将会是800*600。
又如windows开机会自动运行哪些程序。
什么叫软件配置情况?例如我们设置uctools里面的自动留言功能,则在uctools.ini里面就有你设置自动回复的文字项在里面。
为什么很多安装软件都要去改写注册表?1,在系统中注册。2,在注册表中保存软件配置信息。
为什么某些软件你对他的使用情况配置了一下, 下次启动之后这个软件的配置就会保留?
1,注册表中做记录。
2,程序自身或程序的数据库
文件
内记录。
例子1:在数据
文件
中配置我们的软件。
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists("password.txt") Then
set objTextFile = fso.OpenTextFile("password.txt",1)
k= objTextFile.Readline
l= objTextFile.Readline
objTextFile.Close
End If
Set f = fso.CreateTextFile("password.txt", True)
i=InputBox("输入用户名","用户信息确认",k)
j=InputBox("输入密码","用户信息确认",l)
f.WriteLine(i)
f.WriteLine(j)
f.Close
Set fso=Nothing
上面脚本执行第一次的时候,我们输入一个信息到程序中。
当地二次运行后,你会发现他所显示的是我们上一次打开这个程序的时候输入的内容。
注册表是用来记录WINDOWS系统配置信息的。 道理同我们上例中的password.txt
文件
一样,是一个数据库
文件
。
例子2:在注册表中配置我们的软件。
on error resume next
Set WshShell = WScript.CreateObject("WScript.Shell")
readreg = WshShell.RegRead("HKCU\Software\aaa\")
If readreg="" Then
MsgBox("软件没有配置过")
Else
MsgBox("配置信息为:"&readreg)
End If
aa=InputBox("输入/更改我们的软件配置信息")
WshShell.RegWrite"HKCU\Software\aaa\",aa, "REG_SZ"
set WshShell=Nothing
为什么双击exe
文件
会直接运行,而双击txt文本打开的却是记事本?
=====================================================
名称---〉数据类型--〉描述
二进制
值
REG_BINARY
原始
二进制
数据。大多数硬件组件信息作为
二进制
数据存储,以十六进制的格式显示在注册表编辑器中。
=====================================================
DWORD 值
REG_DWORD
由 4 字节长(32 位整数)的数字表示的数据。设备驱动程序和服务的许多参数都是此类型,以
二进制
、十六进制或十进制格式显示在注册表编辑器中。与之有关的值是 DWORD_LITTLE_
ENDIAN
(最不重要的字节在最低位地址)和 REG_DWORD_
BIG
_
ENDIAN
(最不重要的字节在最高位地址)。
=====================================================
可扩展字符串值
REG_EXPAND_SZ
长度可变的数据字符串。这种数据类型包括程序或服务使用该数据时解析的变量。
=====================================================
多字符串值
REG_MULTI_SZ
多字符串。包含用户可以阅读的列表或多个值的值通常就是这种类型。各条目之间用空格、逗号或其他标记分隔。
=====================================================
字符串值
REG_SZ
长度固定的文本字符串。
=====================================================
二进制
值
REG_RESOURCE_LIST
一系列嵌套的数组,用于存储硬件设备驱动程序或它控制的某个物理设备所使用的资源列表。此数据由系统检测并写入 \ResourceMap 树,作为
二进制
值以十六进制的格式显示在注册表编辑器中。
=====================================================
二进制
值
REG_RESOURCE_REQUIREMENTS_LIST
一系列嵌套的数组,用于存储一个设备驱动程序(或其控制的某个物理设备)可以使用的硬件资源列表。系统将此列表的子集写入 \ResourceMap 树。此数据由系统检测,作为
二进制
值以十六进制的格式显示在注册表编辑器中。
=====================================================
二进制
值
REG_FULL_RESOURCE_DESCRIPTOR
一系列嵌套的数组,用于存储物理硬件设备使用的资源列表。此数据由系统检测并写入 \HardwareDescription 树,作为
二进制
值以十六进制的格式显示在注册表编辑器中。
=====================================================
无
REG_NONE
没有具体类型的数据。此数据由系统或应用程序写到注册表,作为
二进制
值以十六进制的格式显示在注册表编辑器中。
=====================================================
链接
REG_LINK
一个 Unicode 字符串,它命名一个符号链接。
=====================================================
QWORD 值
REG_QWORD
由 64 位整数数字表示的数据。此数据作为
二进制
值显示在注册表编辑器中,最初用在 Windows 2000 中。
=====================================================
注册表配置单元是注册表中的一组项、子项和值,它有一组支持
文件
,这些
文件
包含其数据的备份。
在 Windows NT 4.0、Windows 2000、Windows XP 和 Windows Server 2003 中,除 HKEY_CURRENT_USER 之外,所有其他配置单元的支持
文件
都位于 Systemroot\System32\Config
文件
夹中;
HKEY_CURRENT_USER 的支持
文件
位于C:\Documents and Settings\用户名\NTUSER.DAT
文件
夹中。
注册表配置单元 支持
文件
HKEY_LOCAL_MACHINE\SAM Sam、Sam.log、Sam.sav
HKEY_LOCAL_MACHINE\Security Security、Security.log、Security.sav
HKEY_LOCAL_MACHINE\Software Software、Software.log、Software.sav
HKEY_LOCAL_MACHINE\System System、System.alt、System.log、System.sav
HKEY_CURRENT_CONFIG System、System.alt、System.log、System.sav、Ntuser.dat、Ntuser.dat.log
HKEY_USERS\DEFAULT Default、Default.log、Default.sav
注册表的修改方法:
1,REGEDIT
2,INF
文件
3,REG命令
4,VBS
5,编程改写(如VB/
VC
/DELPHI等)
6,程序改写,如WINDOWS优化大师等软件。
C++读写
二进制
格式
文件
在实际应用中,为了节约存储空间,
文件
多会以
二进制
格式保存,所以有必要了解如何在C++中
读取
二进制
文件
中的数据。
linux matlab
二进制
大端,大端和小端--内存对齐问题
什么是大端和小端
Big
-
Endian
和Little-
Endian
的定义如下:1) Little-
Endian
就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。2)
Big
-
Endian
就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。举一个例子,比如数字0x12 34 56 78在内存中的表示形式为:1)大端模式:低地址 -----------------> 高地...
VC
ANSI环境下按行
读取
ANSI、UNICODE 、UNICODE
big
endian
、UTF-8四种文本
文件
VC
ANSI环境下按行
读取
ANSI、UNICODE 、UNICODE
big
endian
、UTF-8四种文本
文件
1.问题提出 MFC提供的
文件
类CStdioFile,其中一个函数ReadString实现了
文件
的按行
读取
,但是不能满足不同类型的文本
文件
的按行
读取
,为了解决这一问题,笔者初步研究了一些编码知识,参考了网上的一些资料,实现了CStdioFile类的扩展类CStdioFile
按行
读取
ANSI、UNICODE 、UNICODE
big
endian
、UTF-8四种文本文
代码简介 1.问题提出 MFC提供的
文件
类CStdioFile,其中一个函数ReadString实现了
文件
的按行
读取
,但是不能满足不同类型的文本
文件
的按行
读取
,为了解决这一问题,笔者初步研究了一些编码知识,参考了网上的一些资料,实现了CStdioFile类的扩展类CStdioFileEx,完成了常见文本
文件
的按行
读取
(注明:不包括DOC、PDF等其他形式的文档). 在此对网上分享编码经验的网
C++ 语言
64,648
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章