![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++学习
文章平均质量分 61
wsgxiaomianao
这个作者很懒,什么都没留下…
展开
-
windows驱动之间异步调用(二)
ZwCreateFile之后会产生一个文件句柄,根据文件句柄获得文件对象指针,使用文件原创 2014-06-24 16:52:03 · 880 阅读 · 0 评论 -
C++类型转换
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a。C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。const_cast,字面上理解就是去const属性。static_cast,命名上理解是静态类型转换。如int转换成char。dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多转载 2014-03-13 16:53:34 · 461 阅读 · 0 评论 -
test
理解c++语言中一些概念以及它们之间的区别(需要深刻理解):(1)局部变量全局变量静态变量 const常量寄存器变量宏定义的常量 static变量注:包括它们的内存分配区域,作用域,初始化等等(2)理解malloc与new之间的区别,以及free与delete之间区别(3)内联函数与宏定义的区别,它们各有什么优点(4)内存分配转载 2013-12-16 09:02:27 · 697 阅读 · 0 评论 -
windows核心编程(二)关于windows的UNICODE的编程相关
//宽字节定义:typedef unsigned short wchar_t//字符串连接char *strcat(char *,const char *);wchar_t *wcscat(wchar_t *,const wchar_t *);//比较char *strcmp(const char *,const char *);wchar_t *wcscmp(const wcha原创 2013-11-14 09:51:57 · 1226 阅读 · 0 评论 -
堆、栈、自由存储区、全局/静态存储区和常量存储区
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区1.栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。2.堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。3.原创 2012-05-25 09:20:40 · 1696 阅读 · 0 评论 -
简单的C++ template实例
#include #include using namespace std;templateT MaxNum(T x,T y){ return (x > y ? x : y);}template class CMaxNum{public: CC m_x,m_y; CMaxNum(CC x,CC y) { m_x = x; m_y = y; } CC原创 2013-08-27 22:48:34 · 650 阅读 · 0 评论 -
windows开发,不要仅仅使用GetLastError了,更加人性化的显示错误描述
void CheckErrorCode(){ HLOCAL hlocal = NULL; DWORD dwErrorCode = GetLastError(); DWORD systemLocal = MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL); BOOL bOk = FormatMessage(FORMAT_MESSAGE_FROM_SY原创 2013-04-27 09:43:33 · 712 阅读 · 0 评论 -
_access在unicode字符集下的问题。。
_access在unicode字符集下使用的时候,传入的路径参数中含有中文字符要使用CP_ACP格式来转化,若使用CP_UTF8转化,则返回-1. 不包含中文,没影响。 CString m_csCon(_T("D:\\360安全浏览器下载\\usbcleaner20101017")); int nLen = WideCharToMultiByte(CP_ACP原创 2013-04-27 14:52:30 · 3105 阅读 · 0 评论 -
fopen("con","w")
今天无意中发现在windows下面不能建立文件名为con的文件,新建时系统提示与现有的文件名同名,无法新建。后来査了一下,con是windows系统保留的系统关键字。除此还有:con、prn、aux、nul、com0、com9、lpt0、lpt9等等。 下面的代码很意思:#include int main(){ int i; FILE *fp;转载 2012-08-31 09:23:57 · 1353 阅读 · 0 评论 -
有关c/c++中位域的疑问
#include #include /*位域: 把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数(1)一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单元起存放该位域。也可以有意使某位域从下一单元开始(2)由于位域不允许跨两个字节,因此位域的长度不能大于一个字节的长度,也就是说不能超过 8 位二进位。(3)位域可以无位域名,原创 2014-08-26 10:17:05 · 673 阅读 · 0 评论