梳理一下自己掌握的知识点

注:以下内容全部是梳理, 所以未免会有不准确的地方, 仅仅作为自我检测之用

1、文件操作:

FILE*: fopen、feof、fwrite、fread、fprintf、fclose、fseek、ftell,FILE* p==NULL表示文件打开失败

fstream:ifstream(输入到内存、同cin)、ofstream(输出到文件,同cout)、open、>>、<<、eof、close、infile.is_open()判断文件打开成功,中文路径要额外处理、否则容易打开失败

API:CreateFile、WriteFile、ReadFile、CloseHandle、GetFileSize、SetFilePoiter、GetFileTime、GetStatus、GetFleAttributes、SetFileAttribute

CFile:Open、Read、Write、Close、GetLength、可结合CArchive使用,使得操作更简单

CreateFileMaping:文件映射,处理大文件


2、字符串

1、strcpy、trcmp、strcat、sprintf、strstr、strlen;wstrcpy、wstrcmp、wstrcat、wsprintf、wcsstr、wcslen

2、string:find\rfind、substr、+=、length\size;wstring:。。。

3、CString(CStringA、CStringW):isempty、reversefind、format、getlength、makelower、makeupper

4、宽窄转换:CA2W\CW2A、WideCharToMultiByte和MultiByteToWideChar

5、数字字符串互转:itoa\atoi、 stringstream、sscanf\sprintf

6、宽窄常量字符串表示法:“abc”\_T(“abc”)


3、多线程:__beginthreadex\CloseHandle:据说这个是线程安全的,即在使用C运行时库的时候能保证安全性


4、线程通信:消息、全局变量(volatile)、文件映射(CreateFileMapping、MapViewOfFile)

进程间通信 :消息(VirtualAllocEx、WriteProcessMemory)、文件映射、管道(匿名、有名管道)、socket、剪切板、mailslot


5、同步:临界区(非内核对象,不能跨进程)、事件、信号量、互斥


6、stl:容器:list、vector、map、hash_map、queue、stack

            算法:find、find_if、sort、remove、remove_if、 for_each

set是一种自动排序容器, 只需要重写一下比较函数,新插入的元素将会自动排序


7、网络io模型:select、事件选择、异步选择、重叠io、IOCP

iocp原理:基于异步io操作和系统线程池组合


8、声明数组清空里面的内容:char arr[128] = {0}, 带定义的结构体声明:struct sInfo{int i; char* pcon; bool f;}; sInfo s = {1, "hello", true};  编写一个函数的一般性原则:谁申请、谁释放。对于经常成对出现的语句可以放在类的构造函数和析构函数中,C和C++的malloc与new的区别:malloc只分配内存不调用构造含糊。printf使用的是变参处理多种参数输入而不是用重载, 如果要使用流运算符支持我自己的类型只能用全局函数的方式来重载流运算符,因为流运算符的第一个参数是流对象的引用而不是我自己的类对象。  对于重载运算符:哪些运算符的重载必须返回引用类型,答案:只需要作为右值存在的时候可以不能返回引用(加减乘除)

 

9、HOOK:(1)、通过修改IAT表实现APIhOOK;(2)使用远程代码注入方式替换dll

10、NAT打洞原理,UDT文件传输,p2p下载

穿透http代理(普通代理和加密代理)

 

11、http下载:使用wininet实现多线程断点续传, 简单下载可以使用UrlDownLoadToFile

 

12、手写windows对话框,纯C++手写COM

 

13、数据库编程需要引入msado15.dll

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值