C++基础
文章平均质量分 70
wildweedsyu
不积跬步,无以至千里。
展开
-
结构体对齐 规则及C++程序验证
基本概念CPU一次能读取多少个字节的数据主要是看数据总线是多少位的,16位CPU一次能读取2个字节,32位CPU一次能读取4个字节,64位CPU一次能读取8个字节。并且不能跨内存区间访问,这句话的意思理解为,如果CPU是32位的话,那么可以将整个内存区间每4个字节分为一块(BLOCK),每次读取一个BLOCK的数据。那么对于下面这个结构体:struct st { char c; int i;};如果不进行对齐操作,char 的地址范围0x00000000,int的地址范围为0x0原创 2021-08-15 23:37:22 · 361 阅读 · 0 评论 -
C++实现读取多种编码格式文本文件
Unicode字符集首先明确一个概念:字符集(Charset)和字符编码(Character Encoding)字符集,表示的可以是字符的一个集合。比如“中文”就是一个字符集,不过这样描述一个字符集并不准确。想要更精确一点,我们可以说,“第一版《新华字典》里面出现的所有汉字”,这是一个字符集。这样,我们才能明确知道,一个字符在不在这个集合里面。比如,我们日常说的 Unicode,其实就是一个字符集,包含了 150 种语言的 14 万个不同的字符。Unicode字符集包括了我们常用ASCII码,即用0-1原创 2021-07-25 14:44:06 · 4999 阅读 · 0 评论 -
C++ 宏字符串拼接 宏定义系统文件路径
基础概念C++中通过宏可以对标识符进行拼接或者将标识符转化成字符串,两个#号可以拼接标识符,一个#号可以将标识符转换成字符串。1、标识符转字符串#define TOSTR1(_FILENAME_) #_FILENAME_#define TOSTR2(_FILENAME_,_SUFFIX_) #_FILENAME_"."#_SUFFIX_int main() { cout << TOSTR1(cloud) << endl; cout << TOS原创 2021-07-19 00:07:22 · 4119 阅读 · 3 评论 -
C++编写程序来判断自己的计算机是大端还是小端字节序
简介计算机有两种存储数据的方式,大端字节序(Big Endian)和小端字节序(Little Endian)。1、大端字节序:高位存放在高地址,低位存放在低地址。2、小端字节序:高位存放在低地址,低位存放在高地址。对于Int类型的数据0x12345678,我们来看看大端模式和小端模式下,计算机中的存储顺序:编写程序定义整型变量0x12345678,逐个字节输出16进制数。两种方式:1、联合体2、int类型指针(int*)强转为char*#include <iostream>原创 2021-07-11 16:58:20 · 778 阅读 · 1 评论