
C/C++重要知识
文章平均质量分 69
linrulei11
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
详细介绍C/C++时间函数使用方法
4.与日期和时间相关的函数及应用在本节,我将向大家展示怎样利用time.h中声明的函数对时间进行操作。这些操作包括取当前时间、计算时间间隔、以不同的形式显示时间等内容。(1)获得日历时间我们可以通过time()函数来获得日历时间(Calendar Time),其原型为:time_t time(time_t * timer); 如果你已经声明了参数timer,你可以从参数time转载 2012-02-23 16:03:42 · 860 阅读 · 0 评论 -
创建自己的dll与lib:dll与lib文件的区别
原文地址:http://blog.youkuaiyun.com/dizuo/article/details/4103614经常使用到第三方库。比如:glut,freetype,sdl,大一点的有CEGUI,OSG等。这些库虽然是开源的,但是很多时候只是使用他们,一般不会去修改。使用就会涉及到三个东西:.h .lib .dll文件。主要有三种模式:.h+.lib .h转载 2012-05-11 22:27:40 · 1167 阅读 · 0 评论 -
VS2008创建C++项目——使用dll文件
网上有许多的文章都在介绍如何创建一个自定义的dll文件,以及如何使用一个dll文件,在此不在赘述。本文主要介绍如何使用VS2008的"生成后事件"的命令行,将一个dll文件直接拷贝到项目的debug,或者release文件中。 首先,找到项目属性下的“生成事件”选项如下图所示:单击“命令行”右侧的三点号,出现了命令行添加窗口,如下图所示。输入命令“copy /b "$(Inpu原创 2012-05-23 22:49:44 · 2622 阅读 · 0 评论 -
MFC字符串类型总结
MFC支持有很多种字符和字符串数据类型,在此将他们整理一下以便记忆。1. char wchar_tchar 这个不用说了是标准c的字符类型,8bit wchar_t 用来保存UNICODE字符集的类型,16bit 2. CHAR WCHAR TCHARCHAR 与小写的char等价 typedef转载 2012-08-02 22:27:48 · 1050 阅读 · 0 评论 -
CListCtrl控件的使用详解
1. CListCtrl 样式及设置 LVS_ICON: 每个item显示大图标 LVS_SMALLICON: 每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 如windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料” LONG lStyle; lStyle=GetWind转载 2012-08-02 22:50:13 · 719 阅读 · 0 评论 -
Unicode字符集下CString与char *转换 (解决中文乱码等)(转)
UniCode 下 CString 转 char* 的方法的文章有很多,但是大部分都是在互相转载,看了那么多资料,仍然没有解决乱码的问题,后来从一个论坛的一条回复里面找到了正确的方法,特此拿出来与大家分享。先总结一下网上找到的三种转换的方法:方法一:使用函数setlocale setlocale(LC_ALL,"chs"); 需要包含头文件#include转载 2012-08-02 22:24:46 · 20551 阅读 · 2 评论 -
选择目录对话框和选择文件对话框——CFileDialog
网上相关文章很多,现简单整理如下 1、CFileDialog构造函数1CFileDialog:CFileDialog(BOOL bOpenFileDialog,2LPCTSTR lpszDefExt=NULL,3LPCTSTR lpszFileN转载 2012-08-04 22:46:16 · 13245 阅读 · 0 评论 -
VC文件读写操作总结
From:http://www.xiaozhou.net/ReadNews.asp?NewsID=248各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析转载 2012-08-04 22:44:30 · 827 阅读 · 0 评论 -
SystemParametersInfo调用失败的问题
从 PUDN 上下载了读取 EXCEL 文件的程序,刚开始编译不通过,主要是因为循环变量定义位置的问题,好解决! 但编译通过后,运行程序即出现错误:ExcelAccess.exe 中的 0x1026ed6a (msvcr90d.dll) 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突出错的代码如下:[cpp] view pl转载 2012-08-06 15:20:15 · 1538 阅读 · 0 评论 -
GetVersion和GetVersionEx函数详解
出自:http://flyxxtt.blogbus.com/logs/42705986.htmlWindows API 中有两个函数可以得到系统版本信息:GetVersion和GetVersionEx。 GetVersion这个函数曾经困扰了很多程序员,其本来设计的是在DWORD返回值中用低位的那个字表示MS-DOS的版本号,高位的那个字表示Windows版本号。对于每个字来说,转载 2012-08-06 20:13:29 · 4520 阅读 · 0 评论 -
MFC 设置对话框位置
原文地址:http://blog.sina.com.cn/s/blog_455245fc01000a43.html今天想写个程序,需要对话框在屏幕的右下角。懒得想就去网上搜搜,不过却没找到什么好的。大部分都是给个函数MoveWindow,或者SetWindowPos却不给大家写用法。比如怎么的到对话框的大小等等!反正就是不方便向我一样新手学习。 所以我今天就献丑了,把这写出来。虽转载 2012-08-13 15:08:55 · 11302 阅读 · 1 评论 -
快速排序及其相关应用(中位数,第几大数等等)
快速排序及其相关应用(中位数,第几大数等等)为何称其快速排序,理由很简单,只因为其平均速度是所有排序中最快的。先给下快速排序的代码。int partition(int* R,int low ,int high){ int t = R[low]; while(low { while((low=t)) high--;转载 2012-09-15 22:04:02 · 2543 阅读 · 0 评论 -
什么是C++ Traits
原文:http://blog.youkuaiyun.com/sparkliang/archive/2009/03/20/4008096.aspx什么是C++ Traits? 并举例说明首先假如有以下一个泛型的迭代器类,其中类型参数 T 为迭代器所指向的类型:template class myIterator{ ...};当我们使用myIterator时,怎样转载 2012-10-09 16:50:51 · 747 阅读 · 0 评论 -
将整数转换成字符串
将整数转换成字符串,例如,-123变为“-123”这个是2013年IBM校园招聘的笔试题目,是一个非常基础的题目。但是,有几点非常容易出现错误,本人笔试的时候,这个基础题目写错了,所以没有进入IBM的面试。可见,平时的练习十分的重要,学习算法的时候,一定要经过实践的检验。1、传入函数的指针参数,一定要做正确性检测。2、对于负数的处理,很容易被忽略掉,因为-1 % 10 = -1,所以,原创 2012-10-17 10:55:44 · 2465 阅读 · 0 评论 -
__declspec(dllimport)和__declspec(dllexport)的区别,以及有关c/c++调用约定
DLL可以使用两种方法将公共符号导入到应用程序中或从 DLL 导出函数: 生成 DLL 时使用模块定义 (.DEF) 文件。 在主应用程序的函数定义中使用 __declspec(dllimport) 或 __declspec(dllexport) 关键字。 使用 .DEF 文件模块定义 (.DEF) 文件是包含一个或多个描述各种 DLL 属性的 Module 语句的文本文件。如果不转载 2012-05-11 09:13:55 · 755 阅读 · 0 评论 -
GetKeyState、GetAsyncKeyState、GetKeyboardState函数的区别:
GetKeyState、GetAsyncKeyState、GetKeyboardState函数的区别:1、BOOL GetKeyboardState( PBYTE lpKeyState );获得所有的256个键(键盘按键、鼠标按键等等)的状态,lpKeyState是指向一个256bit的数组,存放所有键的状态。2、SHORT GetAsyncKeyState( int vKey );判断V原创 2012-05-29 11:58:44 · 26177 阅读 · 4 评论 -
VS2008 使用小技巧-------快捷键
以下的内容转载自:http://www.21industry.com/group_thread/view/id-32435 VS2008 使用小技巧——快捷键1. 怎样调整代码排版的格式?选择:编辑—>高级—>设置文档的格式 或 编辑—>高级—>设置选中代码的格式。格式化cs代码:Ctrl+k+f 格式化aspx代码:Ctrl+k+d2. 怎样跳转到指定的某一行?两转载 2012-05-11 11:31:14 · 741 阅读 · 0 评论 -
error LNK2001: unresolved external symbol _main
error LNK2001: unresolved external symbol _main2007年07月12日 星期四 14:58error LNK2001: unresolved external symbol _main解决办法2007年04月07日 星期六 11:39作者: liuhuinwpu 发表日期: 2006-05-28 复制链接 收藏解决外部符号错误:_m转载 2012-02-15 22:46:16 · 539 阅读 · 0 评论 -
C/C++中的结构体对齐问题(内存对齐)
由于程序运行时占用的内存过大,所以想办法给程序瘦身。在调试中发现结构体占用的size竟然和预想的不一样,原来……看看下面讲的吧,肯定会不枉此看哦!1,比如:struct{ short a1; short a2; short a3;}A;struct{ long a1; short a2;}B;sizeof(A)=6,转载 2012-03-12 22:33:54 · 586 阅读 · 0 评论 -
VS中Debug模式和Release模式的区别
一、Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /转载 2012-03-05 11:28:46 · 865 阅读 · 0 评论 -
Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
原文:http://www.cppblog.com/kangnixi/archive/2011/11/07/107636.html 这两天,给自己电脑弄了双系统,除了原来的Windows 7系统外,装上了Linux系统,使用的版本是Ubuntu(点击可到相应的下载页面)。开始我装的Linux版本是fedora9,对于一个根本没接触过Linux系统的人而言,使用fedora,简直转载 2012-02-27 14:14:19 · 936 阅读 · 0 评论 -
通过IP或socket获取对方的MAC地址
1.通过已经连接的socket文件获取:view plaincopy to clipboardprint?int getpeermac( int sockfd, char *buf ) { int ret =0; struct arpreq arpreq; struct sockaddr_in dstadd_in; socklen_t转载 2012-02-23 11:31:14 · 3847 阅读 · 1 评论 -
C语言之详解#ifdef等宏及妙用[转载]
C语言之详解#ifdef等宏 这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为: #ifdef 标识符 程序段1转载 2012-01-12 15:54:06 · 514 阅读 · 0 评论 -
extern的作用
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗?转载 2012-03-13 17:20:18 · 495 阅读 · 0 评论 -
VC 开机自动启动程序代码
很多监控软件要求软件能够在系统重新启动后不用用户去点击图标启动项目,而是直接能够启动运行,方法是写注册表Software//Microsoft//Windows//CurrentVersion//Run。参考程序可以见下:(查找程序目录的执行文件,存在则进行添加注册表操作) //实用代码一int C***Dlg::CreateRun(void){//添加以下代码 HKEY转载 2012-04-05 11:08:51 · 747 阅读 · 0 评论 -
内存对齐的规则以及作用
原文地址:http://www.cppblog.com/snailcong/archive/2009/03/16/76705.html首先由一个程序引入话题: 1 //环境:vc6 + windows sp2 2 //程序1 3 #include iostream> 4 5 using namespace std; 6 7 struct st1 8转载 2012-04-06 20:41:27 · 577 阅读 · 0 评论 -
c++ 虚函数的实现机制:笔记
作者写的太好了,转载!1、c++实现多态的方法其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表,每个类的对象用了一个虚指针。具体的用法如下:class A{public: virtual void f(); virtual voi转载 2012-04-16 21:04:11 · 496 阅读 · 0 评论 -
ubuntu c++下连接mysql数据库和数据库的使用
今天在ubuntu下 ,用eclipse连接mysql数据库,总是出现mysql_init() undefined 错误,后来发现需要在项目中添加一个静态链接库。下面把eclipse+CDT用C++连接mysql的过程描述一下。首先、安装MySQL,在终端中输入:sudo apt-getinstall mysql-server mysql-client(或者在ubuntu的软件中心安装)。同时原创 2012-02-29 11:41:41 · 4862 阅读 · 0 评论 -
在VC中创建DLL文件的方法步骤--DLL文件与exe文件的区别
原文地址:http://dev.yesky.com/475/7667475.shtml今天教大家在VC中创建DLL文件的方法步骤,一起来学习一下,并不是很难的,相信聪明的你一看就会。 一.Win32动态链接库 1.制作的步骤: (1)新建WIN32 Dynamic-link Library工程,工程名为MyDll,选择A simple DLL project类型。转载 2012-04-18 15:27:16 · 2204 阅读 · 0 评论 -
在vs2008中添加lib文件以及一些常用项目设置选项
下面以添加ws2_32.lib文件为例方法一(直接添加代码):直接在.cpp文件中,添加#pragma comment(lib, "ws2_32.lib");即可。(ws2_32.lib即为你要添加的lib文件) 方法二(在vs工具栏中添加):1.项目(project) -> TcpSrv属性(TcpSrv properties) (其中TcpSrv为工程名)转载 2012-05-09 17:00:28 · 9768 阅读 · 1 评论 -
WinObj介绍与使用
原文地址:http://technet.microsoft.com/en-us/sysinternals/bb896657.aspx 最近在看《windows核心编程》,上面简单的提及了如何使用WinObj查看当前系统中的内核对象。我在网上找到了WinObj的介绍,翻译出来一下,翻译的不好,请各位多多指教。1、介绍 WinObj是关注安全的系统管理员必备的工具,它也可以翻译 2012-12-21 16:02:01 · 10007 阅读 · 1 评论