C++
tomorrow00hello
这个作者很懒,什么都没留下…
展开
-
C++文件操作-两个程序同时分别操作一个文件的读和写
两个程序同时操作一个文件的读和写。一个程序持续写入数据到文件中,另一个程序持续的读文件。处理过程中不能判断文件是否完整,即读文件操作可能需要等待写文件操作。处理过程中,按行读取,计算每一行的偏移量。读取一行时,设置偏移量,在读取。读文件操作执行到文件末尾时,关闭文件,然后重新打开文件,判断文件流状态是否可用。当文件有60秒时长没有写入文件时,就退出读写操作。 ifstream m_ifHandler; string m_runFilePath; int原创 2021-04-29 11:28:01 · 3350 阅读 · 0 评论 -
将十六进制的字符串文本转换为char[]的十六进制数组
从内存读取的十六进制数据,形如68 04 0b 00 00 00以string的形式保存,现在需要按每8位一个字节 保存在数组中,转换方法是将每两个数字截取,然后转十六进制。以字节为单位保存在cahr[]数组中。void decodeUnit(string str){ if(!str.empty()) { int size=str.size()/2; int i=0; string szchar; uns..原创 2020-12-23 14:23:35 · 3311 阅读 · 0 评论 -
使用宏求结构体的内存偏移地址
#define Offset(type,field) ((size_t)&((type *)0->field))对0取指针的操作((type *)0)的结果就是一个类型为type *的NULL指针。如果利用这个NULL指针访问type成员,当然是非法的,但是因为&((type *)0->field)的意图只不过是计算field字段的地址,因此是合法的。编译器根本就不生成访问type的代码,而仅仅是根据type的内容布局和结构体实例首址在编译期计算这个(常...原创 2020-10-18 15:47:40 · 333 阅读 · 0 评论 -
哈希函数-SHA1和SHA256算法
SHA2算法是对SHA1算法的继承。区别在于两者的构造和签名长度不同。SHA1SHA-1通过4轮运算(每轮20步,共80步)将长度不超过264的输入压缩成为160bit的消息摘要。初始化MD缓冲区,需要160位来存放哈希函数的初始变量、中间摘要和最终摘要。需要5个32位的寄存器。SHA-1的框图SHA256SHA256最大输入长度为2^64比特,输入按照512比特分组,最终输出256比特长度的消息摘要。消息填充初始化需要8个32位...原创 2020-09-25 14:23:13 · 4169 阅读 · 0 评论 -
什么是哈希函数
Hash函数译为哈希函数,又称散列函数。是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出的值称为散列值或消息摘要。简单来说就是一种将任意长度的输入消息压缩成某一固定长度的消息摘要的函数。它具备以下的性质(哈希函数所必须的性质):H可应用于任意大小的数据块。 H产生定长的输出。 对任意给定的x,计算H(x)比较容易,用硬件和软件均可以实现。出于安全性考虑,对哈希函数的三个安全性假设:对任意给定的散列值h,找到满足H(x)=h的x在计算上是不可行的,称之为单向性...原创 2020-09-25 11:45:24 · 10575 阅读 · 1 评论 -
c++的关键字即保留字小结
1.asm(汇编),用法如下:asm (指令字符串);允许在C++程序中嵌入汇编代码。2. auto(自动,automatic)是存储类型标识符,表明变量“自动”具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型。3. bool(布尔)类型,C++中的基本数据结构,其值可选为true(真)或者false(假)。C++中的bool类型可以和int混用,具体来说就是0代表false,非0代表true。bool类型常用于条件判断和函数返回值。4. ...转载 2020-09-23 12:10:16 · 105 阅读 · 0 评论 -
变量的存储方式和生存期
动态存储方式和静态存储方式变量的两种存储方式变量的存储有两种方式:静态存储方式和静态存储方式。静态存储方式是指程序运行期间由系统分配固定的存储空间的方式,动态存储方式是程序运行期间根据需要进行动态的分配存储空间的方式。 用户区 程序区 静态存储区 动态存储区 全局变量全部存放在静态存储区中,在程序开始执行时给全局变量分配存储区,程序执行完毕后释放,占据固定的存储单元。在函数调用开始时,分配动态存储空...原创 2020-09-23 11:42:52 · 374 阅读 · 0 评论 -
对象池模式 C++实现
对象池模式(The Object Pool Pattern)对象池是一种对象复用技术。Mark Grand在《Patterns in Java》描述了对象池的设计模式,它通过管理和复用有限对象来共享某些稀少或必须付出昂贵代价的资源,该模式的UML结构分为3部分。 Reusable:被复用的对象或资源。Client:复用对象的使用者,1个Client对象可以使用多个复用对象...原创 2019-01-28 18:15:10 · 564 阅读 · 1 评论 -
C++标准IO库
标准IO库1. 面向对象的标准库标准库定义了一族类型,支持对文件和控制窗口等设备的读写(IO),还定义了其他一些类型,使string对象能够像文件那样进行操作,从而使我们无需IO就能够实现数据与字符串之间的转换。>> 操作符,用于从istream对象中读入输入。 2. 条件状态IO标准库管理了一系列条件状态成员,用来标记给定的IO对象是否原创 2016-08-11 23:43:28 · 374 阅读 · 0 评论 -
写博客
blog原创 2016-08-10 18:23:45 · 157 阅读 · 0 评论