笔记C/C++

来源:互联网 发布:女神与一般女生知乎 编辑:程序博客网 时间:2024/06/07 07:09


strcpy()//拷贝参数2到参数1
strcmp()//比较字符串s1和s2。
strchr()//查找字符串s中首次出现字符c的位置
strcat()//连接字符串
strstr()//查找子串
strpbrk()
strspn()//查找第一个子串
strcspn()
sprintf()//转换字符串格式
calloc()//在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针;如果分配不成功,返回NULL;跟malloc的区别:calloc在动态分配完内存后,自动初始

_tsplitpath_s:分离文件名和扩展名

_stprintf_s://这个函数的主要作用是将若干个参数按照format格式存到buffer中


_wsplitpath_s:路径分割函数
化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据
atoi()//把字符串转换成整形数
itoa()//把整形转换成字符串
memset()//在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法


格式:
%a,%A 读入一个浮点值(仅C99有效)   
%c 读入一个字符   
%d 读入十进制整数   
%i 读入十进制,八进制,十六进制整数   
%o 读入八进制整数   
%x,%X 读入十六进制整数   
%s 读入一个字符串,遇空格、制表符或换行符结束。   
%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。   
%p 读入一个指针   
%u 读入一个无符号十进制整数   
%n 至此已读入值的等价字符数   
%[] 扫描字符集合   
%% 读%符号


__uuidof()//用来获取 某种结构、接口及其指针、引用、变量 所关联的GUID


内存:
低字节序低字节放在低位
高字节序     低字节放在高位


内存的位是由高到低的


calloc() //在内存分配一个了连续控件,返回首地址



===============================================C++==============================================
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区


加密:
MD5
Base64
escape //escape是java的叫法,c++中是UrlEncode
string UrlEncode( const std::string& normal )
{
stringstream ss;
char tmp[4] = {0};
const char* p = normal.c_str();
for(; *p; ++p)
{
if (isalnum(*p))
{
ss<<*p;
}
else if (*p == ' ')
{
ss<<'+';
}
else 
{
sprintf(tmp, "%%%2X", (int)*p);
ss<<tmp;
}
}


return ss.str();
}
强制类型转换:
static_cast
dynamic_cast
const_cast
reinterpret_cast


类型宏:
UINT unsigned int 
DWORD unsigned long
WORD unsigned short
LRESULT
LPVOID void *
WNDPROC
LPCTSTR const TCHAR *
LPRECT 
BYTE
HMODULE void *模块句柄
US_INT32 long
LPBYTE const char*
LPCTSTR 
CHAR
LPSTR


只能指针:
auto_ptr


字符编码:

Unicode:宽字节,16位(bit),中英文字符都以双字节存放

Ansi:多字节,8位(bit),  单字节存放英文字符,双字节存放中文字符

utf-8:对Unicode的再编码,目的是为了解决特殊字符

MultiByteToWideChar()

WideCharToMultiByte()


智能指针:

scoped_ptr:用于处理单个对象的唯一所有权;与std::auto_ptr不同的是,scoped_ptr可以被复制。