字节次序重置及“#include <algorith.h>”相干的STL最首要的头文件提
添加时间:2013-7-6 点击量:
这两天在写一个法度,须要将二进制文件中的数据以指定布局读入内存,这底本只是常识,但申明文档中有提到大端序和小端序(Big Endian or Little Endian) 的概念,显然读取的时辰要差别对待,看了几篇文章,仅字节次序重置这点工作竟然都写了几十行代码,总感觉不太公道,于是就四下寻找,成果终极找到算法,用代码之少也让人有点料想之外,在一篇名为“如何将一个长整型的凹凸字节调换?”的帖子里找到如下代码备忘,短短几行罢了:
#include <algorith.h>
void SwapLong(DWORD& Val)
{
BYTE pb = (BYTE)&Val;
swap(pb[0], pb[3]);
swap(pb[1], pb[2]);
}
按照头文件追查,在百度百科找到“algorithm”的词条,功能类似,具体是不是同一个,有待持续查证,无论如何,此中介绍的算法都值得浏览几遍,以备后用。
词条开篇如是说:algorithm意为演算法,是C++的标准模版库(STL)中最首要的头文件之一,供给了多量基于迭代器的非成员模版函数
文艺不是炫耀,不是花哨空洞的文字堆砌,不是一张又一张的逆光照片,不是将旅行的意义转化为名牌包和明信片的物质展示;很多时候它甚至完全不美——它嘶吼、扭曲,它会痛苦地抽搐,它常常无言地沉默。——艾小柯《文艺是一种信仰》
这两天在写一个法度,须要将二进制文件中的数据以指定布局读入内存,这底本只是常识,但申明文档中有提到大端序和小端序(Big Endian or Little Endian) 的概念,显然读取的时辰要差别对待,看了几篇文章,仅字节次序重置这点工作竟然都写了几十行代码,总感觉不太公道,于是就四下寻找,成果终极找到算法,用代码之少也让人有点料想之外,在一篇名为“如何将一个长整型的凹凸字节调换?”的帖子里找到如下代码备忘,短短几行罢了:
#include <algorith.h>
void SwapLong(DWORD& Val)
{
BYTE pb = (BYTE)&Val;
swap(pb[0], pb[3]);
swap(pb[1], pb[2]);
}
按照头文件追查,在百度百科找到“algorithm”的词条,功能类似,具体是不是同一个,有待持续查证,无论如何,此中介绍的算法都值得浏览几遍,以备后用。
词条开篇如是说:algorithm意为演算法,是C++的标准模版库(STL)中最首要的头文件之一,供给了多量基于迭代器的非成员模版函数