风言
码龄15年
关注
提问 私信
  • 博客:60,196
    60,196
    总访问量
  • 14
    原创
  • 1,013,615
    排名
  • 11
    粉丝
  • 0
    铁粉

个人简介:淫才

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2010-07-29
博客简介:

风言的专栏

博客描述:
MFC,STL,MIS,ERP And Other
查看详细资料
个人成就
  • 获得2次点赞
  • 内容获得4次评论
  • 获得13次收藏
创作历程
  • 7篇
    2011年
  • 32篇
    2010年
TA的专栏
  • STL
  • VC++深入详解(孙鑫)笔记
    15篇
  • VC杂文
    16篇
  • 函数
    1篇
  • 日志
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C++随机函数

C++随机函数(VC program):#include #include #include using namespace std; #define MAX 100int main(int argc, char* argv[])
转载
发布博客 2011.09.08 ·
707 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++中的空类,默认产生那些类成员函数

class Empty{public: Empty(); // 缺省构造函数 Empty( const Empty& ); // 拷贝构造函数 ~Empty();
原创
发布博客 2011.09.06 ·
537 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

c++关键字explicit使用指南

explicit作用:在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。explicit使用注意事项:    *      explicit 关键字只能用于类内部的构造函数声明上
原创
发布博客 2011.08.25 ·
529 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C/C++ 误区一:void main()

很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) .C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( )
原创
发布博客 2011.07.18 ·
1843 阅读 ·
2 点赞 ·
0 评论 ·
9 收藏

调用FindFirstVolume编译错误是undeclared identifier,怎么回事?

我就是把MSDN中的例子直接考到vc中编译,结果就出现undeclared   identifier的错误,察看该函数就需要包含window.h即可,我也包含了啊,怎么回事呢? 我就是把MSDN中Enumerating   Mount   Points这个例子直接考过去未作任何改
原创
发布博客 2011.07.14 ·
2014 阅读 ·
0 点赞 ·
2 评论 ·
1 收藏

STL中sort的用法举例


date:2010-07-02
对象数组排序这里展示了两种方法,定义比较函数或通过重载比较运算符使得类本身是可以比较的,就像基本类型一样。
定义比较函数,既可以通过定义比较运算符(如operator <),也可以直接定义函数(如compare)。
重载运算符之后,可以在sort函数中通过less或greater或less_equal等来调整升序还是降序,默认是升序。
另外,重载运算符后,函数bool operator < 就不要了,否则用g
转载
发布博客 2011.03.02 ·
4326 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

AssertValid和Dump函数的应用


原文地址:
http://tsitao.blog.163.com/blog/static/29795822006914105840496/#comment=fks_082074086083084067085082084095086095086074081094084
 
VC的调试中,AssertValid和Dump函数的应用CObject::AssertValid 成员函数提供对对象内部状态的运行时检查。尽管从 CObject 派生类时不需要重写 Assert
转载
发布博客 2011.02.18 ·
675 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

VC++(MFC日期函数)

MFC提供了两个日期和时间类CTime和CTimeSpan,分别代表相对时间和绝对时间。CTime是基于格林威治平均时间(GMT)的,本地的时间由环境变量TZ决定。CTimeSpan代表了时间间隔。
CTime类由下列成员函数:
CTime()
创建一个CTime对象。
GetCurrentTime()
由当前时间创建一个CTime对象。
GetTime()
由CTime对象返回一个time_t变量。
Get
原创
发布博客 2010.12.08 ·
3903 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

VC INI文件读写

VC中用函数读写ini文件的方法

         ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。


一、向ini文件中写入信息的函数
1. 把信息写入系统的wi
原创
发布博客 2010.12.08 ·
700 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

wsprintf


      在C语言中格式化字符串可以使用printf,但是在WINDOWS编程设计中却行不通了,但是却有变通的方法,那就是用 wsprintf这个函数 它的格式如下:
wsprintf(缓冲区,格式,要格式化的值);
      第一个参数是字符缓冲区,后面是格式字符串,wsprintf不是将格式化结果写到标准输出,而是将其写入缓冲区中,该函数返回该字符串的长度。
 
比如我们想通过MessageBox来输出一个整形变量的值,可以用以下代码实现:
原创
发布博客 2010.12.07 ·
871 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

善用GetLastError函数


      在编程过程中,当程序出现错误,却又不知道错误的原因时,可以使用GetLastError函数,它可以帮助你快速找到出错的原因和语句。
      可以直接使用GetLastError函数得到错误代码,然后查找MSDN找到代码对应的错误原因,也可使用下面函数直接把错误原因显示出来:
void ShowErrMsg()
{
    TCHAR szBuf[80];
    LPVOID lpMsgBuf;
转载
发布博客 2010.12.07 ·
872 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

字符串常量定义时的换行问题

    如果我们在一行代码的行尾放置一个反斜杠,c语言编译器会忽略行尾的换行符, 而把下一行的内容也算作是本行的内容。这里反斜杠起到了续行的作用。
    构建较长的字符串是续行的常见用途, 还有一个作用是定义跨行的宏。
    如果我们不使用反斜杠,当我们试图初始化一个跨多行的字符串是,c语言编译器就会发出警告。如下面的语句所示:
char letters[] = {"abcdefghijklmnopqrstuvwxyz
  ABCDEFGHIJKLMNOPQRST
原创
发布博客 2010.10.18 ·
7553 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

线程同步 CCriticalSection(临界区类)


线程同步 CCriticalSection(临界区类)
 
当多个线程访问一个独占性共享资源时,可以使用“临界区”对象。任一时刻只有一个线程可以拥有临界区对象,拥有临界区的线程可以访问被保护起来的资源或代码段,其他希望进入临界区的线程将被挂起等待,直到拥有临界区的线程放弃临界区时为止,这样就保证了不会在同一时刻出现多个线程访问共享资源。
CCriticalSection类的用法如下:
 定义CCriticalSection类的一个全局对象(以使各个线程均
转载
发布博客 2010.09.07 ·
1128 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

reinterpret_cast

reinterpret_cast是C++里的强制类型转换符。   操作符修改了操作数类型,但仅仅是重新解释了给出的对象的比特模型而没有进行二进制转换。   例如:int *n= new int ;   double *d=reinterpret_cast (n);   在进行计算以后, d 包含无用值. 这是因为 reinterpret_cast 仅仅是复制 n 的比特位到 d, 没有进行必要的分析。   因此, 需要谨慎使用 reinterpret_cast.   == =================
原创
发布博客 2010.09.07 ·
1137 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

关于C++ const 的全面总结


C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。
Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。
 
一、Const作用
   如下表所示:

No.
作用
说明
参考代码
1
可以定义const常量
原创
发布博客 2010.09.06 ·
516 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++赋值的两种形式


C++赋值的两种形式
        C++支持两种初始化变量的形式:复制初始化(copy-initialization)和直接初始化(direct-initialization)。    
        复制初始化语法用等号(=),直接初始化则是把初始化式放在括号中。   int ival(1024); //direct-initialization
        int ival = 1024; //copy-initialization, //此时如果
原创
发布博客 2010.09.06 ·
1580 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

assert() 函数用法


assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:
#include <assert.h>
void assert( int expression );
assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,
然后通过调用 abort 来终止程序运行。
请看下面的程序清单badptr.c:
#inclu
转载
发布博客 2010.09.03 ·
886 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

RGB宏详解

#define RGB(r,g,b)   ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))这是个带三个参数的宏首先将r,g,b强制转换成BYTE型,之后g左移8位,b左移16位,并把结果分别强制转换成DWORD型,最后将r,左移8位后的g,还有左移16位后的b三者做按位或,所得的结果强制转换成COLORREF类型 分解后的表达式:((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g)))|(((DWORD)(BYTE)(b))))//-------
原创
发布博客 2010.08.30 ·
10755 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

HDC,CDC,CWindowDC,CClientDC,CPaintDC基础


 
首先说一下什么是DC(设备描述表)
解:Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制。DC是一种包含设备信息的数据结构,它包含了物理设备所需的各种状态信息。Win32程序在绘制图形之前需要获取DC的句柄HDC,并在不继续使用时释放掉。

在c++ 编程中常会见到HDC,CDC,CClientDC,CPaintDC,CWindowDC这样
转载
发布博客 2010.08.30 ·
975 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

|与||的区别

从网上介绍资料来看,|与||至少有两点区别:1、运算类型不一样,  |是算术运算,它最终会返回个数,int 、long、、、。而||是逻辑运算符,它只返回两个结果TRUE或FALSE。2、运算规则不一样。|是算术运算符,它会计算表达式的每一个部分。||是短路表达式。只要有一个表达式为真那么就不再计算其下一个表达式。如:(a==b)|(B==C)会将|的前半部分和后半部通计算好了以后,再进行位或运算,最近返回计算结果。而(a==b)||(B==C)只要(a==b)为真,就立即返回。&和&&也是同理,只不过返回
原创
发布博客 2010.08.19 ·
2455 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多