C/C++
小神兵
集団意識とは、集団のために、個人を犠牲にすることである。
展开
-
[Error]'fopen'This function or variable may be unsafe
微软的警告,主要是那些都是C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了一下同样功能的函数,只不过进行了参数的检测,使用这些新的就可以了。不用特意记,每个函数在给出警告时都会告诉你相应的安全函数,注意一下警告信息就可以了,使用时再查看一下MSDN。库函数改写例子: mkdir改写为 _mkdir fopen”改写为 f转载 2011-06-21 20:34:00 · 5871 阅读 · 0 评论 -
关于华为2014年机试题1
华为2014年机试题3: 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串“abacacde”过滤结果为“abcde”。要求实现函数: void stringFilter( const char *pInputStr,long lInput原创 2013-12-21 12:54:10 · 1288 阅读 · 0 评论 -
谈谈关于内存对齐与补齐
首先我们先看看下面的C语言的结构体:typedef struct MemAlign{ int a; char b[3]; int c;}MemAlign; 以上这个结构体占用内存多少空间呢?也许你会说,这个简单,计算每个类型的大小,将它们相加就行了,以32为平台为例,int类型占4字节,char占用1字节,所以:4 + 3 + 4 = 11,那么这个结构体一共占用11字原创 2013-12-29 16:33:49 · 11205 阅读 · 5 评论 -
浅析C++中临时匿名对象
首先先看代码:#include using namespace std;/* 类名:A*/class A{ int num;public: A( int num ); ~A(); A( A& a ); A operator=( int num ); friend ostream& operator<<( ostream& o, const A& a );};/原创 2013-12-03 18:22:49 · 5928 阅读 · 0 评论 -
C++类继承关系与访问权限总结
如下图所示:原创 2013-12-02 16:17:20 · 863 阅读 · 0 评论 -
C++中的new与delete简单浅析
#include #include using namespace std;/* 类名:Demo*/class Demo{public: // Demo类的构造函数 Demo(){ cout << "Demo()" << endl; } // Demo类的析构函数 ~Demo(){ cout << "~Demo()" << endl; } // 重载new运算符原创 2013-12-02 14:27:46 · 681 阅读 · 0 评论 -
关于C++的一道题
阅读下面程序,然后请写出输出结果:#include using namespace std;int main(void){ char a[]="123"; char b[]="123"; char *c="123"; char *d="123"; const char e[]="123"; const char f[]="123"; const char *g原创 2013-11-06 12:51:07 · 902 阅读 · 0 评论 -
关于C++中的const的简单反汇编分析
我们尝试着去修改const变量的值,C++程序代码如下:#include using namespace std;int main(void){ const int AI = 10; _asm { lea ebx,AI mov word ptr[ebx],30H } cout<<AI<<endl; return 0;}我们单步跟踪如下图:原创 2013-11-06 10:33:18 · 1243 阅读 · 0 评论 -
VC SDK 全屏截图代码
#include #include int main(){ HDC hdcSrc = GetDC(NULL); int nBitPerPixel = GetDeviceCaps(hdcSrc, BITSPIXEL); int nWidth = GetDeviceCaps(hdcSrc, HORZRES); int nHeight = GetDeviceCaps(hdcSrc, VE转载 2013-09-24 20:13:25 · 1306 阅读 · 0 评论 -
VC使用Zlib对内存流进行压缩与解压缩
//zlib官网 "http://zlib.net/"//在工程根目录放入文件//zlib.h//zlib.lib//zconf.h//加载Zlib相应的函数以及库#include "zlib.h"#pragma comment(lib,"zlib.lib")//对于已知数组b 以及数组长度COUNT //压缩BYTE *com=new BYTE[COUNT];unsi转载 2013-01-19 14:37:06 · 2730 阅读 · 1 评论 -
编写高效C语言的四大绝招
编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就是针对编程工作中的一些体会和经验做相关的阐述。第一招:以空间换时间计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值:方法A:通常的办法#define LEN 32char string1 [LE转载 2013-01-23 10:11:36 · 660 阅读 · 0 评论 -
Big Endian 和 Little Endian
Big Endian 和 Little Endian一、字节序谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用li转载 2011-09-07 10:23:46 · 838 阅读 · 1 评论 -
宽字符链接库函数会出现错误
我们都知道如何获得字符串的长度。例如,如果我们已经像下面这样定义了一个字符串指针:char * pc = "Hello!" ; iLength = strlen (pc) ;这时变量iLength将等于6,也就是字符串中的字符数。 wchar_t * pw = L"Hel转载 2011-08-26 12:33:35 · 846 阅读 · 0 评论 -
详谈C/C++内存分配
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由O转载 2011-07-06 21:17:28 · 619 阅读 · 0 评论 -
C语言数据类型概要图
原创 2011-06-21 20:37:00 · 633 阅读 · 0 评论 -
关于华为2014年机试题3
华为2014年机试题3: 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则: 1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。 2、压缩字段的格式为"字符重复的次数+字符"原创 2013-12-19 14:55:17 · 1692 阅读 · 0 评论