C++
nickwu1220
这个作者很懒,什么都没留下…
展开
-
strcmp为什么要用unsigned char
<br />字符串比较函数,这个函数也比较常用:<br />view plaincopy to clipboardprint?<br />int strcmp(const char* str1,const char* str2){ <br /> assert(str1!=NULL&&str2!=NULL); <br /> while(*str1&&*str2&&*str1==*str2){ <br /> str1++; <br /> str2++;转载 2011-05-18 10:57:00 · 1455 阅读 · 0 评论 -
重温C++ primer 之const总结
1.const变量,即常变量(变量值保持不变,不能被修改)a.const变量默认时是定义该变量的文件的局部变量b.非const*指针无法指向const 变量,只有const *指针能指向const 变量。c.一些const 变量定义在头文件中,const变量通过常量表达式自我初始化时.2.A.a.const T *pstr;指向常对象的指针,简单理解成*pstr不变,即指向转载 2014-03-09 01:21:48 · 734 阅读 · 0 评论 -
使用ifstream和getline读取文件内容
#include #include #include using namespace std;//输出空行void OutPutAnEmptyLine(){ cout<<"\n";}//读取方式: 逐词读取, 词之间用空格区分//read data from the file, Word By Word//when used in th转载 2012-03-08 15:06:28 · 588 阅读 · 0 评论 -
编写类String的构造函数、析构函数和赋值函数
这个在面试或笔试的时候常问到或考到。 已知类String的原型为:class String { public: String(const char *str = NULL);// 普通构造函数 String(const String &other); // 拷贝构造函数 ~ String(void); /原创 2011-11-17 14:31:38 · 519 阅读 · 0 评论 -
以小见大:从小函数实现看应聘者的编程素质(atoi.strcmp...)
在程序员面试的时候,面试官通常会让你实现一个或几个C语言里的库函数,以此来检查你的编程功底。类似的函数实现有atoi.itoa.atof.strcmp.strcpy.memset.memcpy等等。在平时的编程中,我们可能极少有机会要自己实现这些函数。但是面试官却很喜欢用这些东西考察你。实际上所谓的"考察",永远是个伪命题。面试者其实不是用这个小函数的实现来考察"你行",而大部分寄希望于用这个转载 2011-11-17 11:58:56 · 458 阅读 · 0 评论 -
C++异常处理须知
第一部分:1.异常发生时,异常对象会沿函数调用栈的反方向抛出,这个过程常称为栈展开。2.在栈展开过程中,如果异常对象始终都没遇到可行的catch处理块,系统将调用terminate函数强制终止程序。当然如果连try块都没有,系统将直接调用terminate函数。3.在转载 2011-09-14 14:30:37 · 458 阅读 · 0 评论 -
VC中CString,int,string,char*之间的转换
1 CString,int,string,char*之间的转换 string 转 CString :CString.format("%s", string.c_str()); char 转 CString : CString.format("%s", cha转载 2011-09-02 16:26:11 · 470 阅读 · 0 评论 -
很有助于理解指针和指针所指向的内容的代码片段
在CU上到很有意思的一道题,回帖,备忘与此。 struct S{ int i; int *p; }; int main(void) { struct S s; int *p = &s.i; p[0] = 4; p[1] =转载 2011-07-16 15:50:51 · 471 阅读 · 0 评论 -
如何隐藏win32 console application的console窗口
<br />大家都知道,当编写一个win32 console application时,当运行此类程序的时候默认情况下会有一个类似dos窗口的console窗口,但是有的时候我们只想在程序中运行一段功能代码,不希望显示这个console窗口,让代码执行完毕之后程序自动退出.下面就介绍一下,如何隐藏win32 console application的console窗口 <br />因为此种方法是通过设置编译器的链接开关来实现,所以让我们来看一下编译<br />器的链接开关选项(也就是linker选项).<br转载 2011-04-19 14:50:00 · 756 阅读 · 0 评论 -
达夫设备(Duff's Device)的详细说明
前几天在网上看见了一段代码,叫做“Duff's Device”,后经验证它曾出现在Bjarne的TC++PL里面: void send( int * to, int * from, int count) // Duff设施,有帮助的注释被有意删去了 { int n = (count + 7 ) / 8 ; switch (count % 8 ) { case 0 : do { * to ++ = * from ++ ;原创 2011-05-24 09:41:00 · 1116 阅读 · 0 评论 -
学习RING3 内存清零结束进程
<br />内存清零法 杀进程 原理分析 :<br />1.先打开CSRSS.EXE系统进程,获得其句柄,几乎系统所有的HANDLE结构体中,里面的ProcessId都是指向csrss.exe的,利用它的PID来进行遍历进程实现过滤。<br /><br />2.分配好一块内存空间Buffer,用来存储SystemHandleInformation系统句柄信息<br /><br />3.通过ZwQuerySystemInformation函数来查询系统句柄信息并保存在Buffer中,为 ZwQuerySyst转载 2011-03-31 17:47:00 · 2116 阅读 · 0 评论 -
开机回答自己的问题才能使用
<br />开机回答自己的问题才能使用电脑,可以用过自己写DLL来替换微软的“MsGina.dll”。在NT/2000中交互式的登录是通过winlogon调用GINA.DLL来实现的。微软给出了借口,所有我们能自己编写GINA.DLL。<br />GINA DLL要输出下列函数(winlogon会调用):<br /><br />(表一)GINA 函数一览表<br /><br />函数 描述<br />WlxActivateUserShell 激活用户外壳程序<br />WlxDisplayLock原创 2011-03-29 17:03:00 · 731 阅读 · 0 评论 -
高效的两段式循环缓冲区──BipBuffer
Simon Cooke,美国 (原作者)北京理工大学 20981 陈罡(翻译)写在前面的话: 循环缓冲区是一个非常常用的数据存储结构,已经被广泛地用于连续、流数据的存储和通信应用中。对于循环缓冲区,传统的操作方法是开辟一块连续的存储区,不断地写入数据,当写入到存储区的末尾的时候,再从存储区的首部再开始写入数据,由此不断地重复下去构成了循环缓冲区。偶曾经写过很多循环缓冲转载 2017-11-06 23:09:55 · 348 阅读 · 0 评论