06 2011 档案

摘要:直接贴代码,这段代码很好用,记录下来. PVOID lpMsgBuf; if (FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | // 自动分配缓存 FORMAT_MESSAGE_FROM_SYSTEM | // 系统消息 FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), // 错误代码 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // 默认语言 (LPTSTR)&lpMsgBuf, 0, NULL)) { // TODO: 添加你的处理代码. 阅读全文
posted @ 2011-06-30 16:02 Atypiape 阅读(868) 评论(0) 推荐(0) 编辑
摘要:这个问题是从书上看来的,觉得方法不错就部分摘抄下来了。根据下面的SQL数据表:T_Number ( num INT)请写一条SQL语句,返回 num 的最大值,不能使用汇总功能(MAX、MIN等)。先给出一个示例数据表以便更好的进行思考:为了方便方便起见,我把建表的SQL语句也贴出来,这样您就可以您自己的SQL Server上快速地建立起同样的数据表。CREATE TABLE T_Number ( num int );INSERT INTO T_Number(num) VALUES(5);INSERT INTO T_Number(num) VALUES(23);INSERT INTO T_Nu 阅读全文
posted @ 2011-06-30 10:00 Atypiape 阅读(1494) 评论(0) 推荐(0) 编辑
摘要:本文译自codeproject.com,原文链接与工具及其源代码下载点击这里。----------------------------------- 导引:WINDOWSX.H头文件简化Win32 SDK编程许多的新手或者调试程序员在编写C/C++的Windows API程序时都要面对像意大利面一样的switch...case代码块。当你需要加入一个消息处理到你的窗口处理过程中时,在些代码块中查找例如:WM_COMMAND或WM_CHAR,是相当让人恐惧的事情。早在Windows 3.1时代的Windows软件开发工具包和C/C++7.0编译器就附带一个包含一千多行Windows处理代码的头文 阅读全文
posted @ 2011-06-29 15:26 Atypiape 阅读(462) 评论(0) 推荐(0) 编辑
摘要:Win32应用中的回调函数 WndProc 用于接收 Windows 向应用程序直接发送的消息,以及响应消息。大多情况下,我们这样编写代码:LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) { int cxClient, cyClient; PAINTSTRUCT ps; HDC hdc; switch( message ) { case WM_SIZE: cxClient = LOWORD(lParam); cyClient = HIWORD(lParam); break; cas 阅读全文
posted @ 2011-06-29 15:21 Atypiape 阅读(703) 评论(0) 推荐(0) 编辑
摘要:下面是对话框程序框架代码://// resource.h//// 控件 ID.//#define IDD_MAIN 100#define IDC_OK 101#define IDC_CANCEL 102//// main.h//#ifndef _MAIN_H#define _MAIN_H#include <windows.h>//// 自定义函数前置声明.//BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);BOOL Main_OnInitDialog(HWND hwnd, HWND 阅读全文
posted @ 2011-06-28 17:34 Atypiape 阅读(2467) 评论(0) 推荐(1) 编辑
摘要:int wsprintf( LPTSTR lpOut, // 输出缓冲区,最大为1024字节 LPCTSTR lpFmt, // 格式字符串 ...); // 需输出的参数,多少个参数都可以的,最起码前两个必须有.函数作用: 函数 wsprintf() 将一系列的字符和数值输入到缓冲区。 输出缓冲区里的的值取决于格式说明符(即"%")。 如果写入的是文字,此函数给写入的文字的末尾追加一个 '\0'。 函数的返回值是写入的长度,但不包括最后的 '\0'。我们在接触C语言的时候还接触过一个 sprintf() 的函数,用法和 wsprintf() 阅读全文
posted @ 2011-06-28 17:04 Atypiape 阅读(1487) 评论(0) 推荐(0) 编辑
摘要:大端模式与小端模式 一、概念及详解 在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式。 先回顾两个关键词,MSB和LSB: MSB:Most Significant Bit ------- 最高有效位 LSB:Least Significant Bit ------- 最低有效位 大端模式(big-edian) big-endian:MSB存放在最低端的地址上。 举例,双字节数0x1234以big-endian的方式存在起始地址0x00002000中: | data |<-- address | 0x12 |& 阅读全文
posted @ 2011-06-28 11:59 Atypiape 阅读(4301) 评论(2) 推荐(2) 编辑
摘要://// 以单词为单位进行反序,按行进行,标点符合不反序. 例如: // "ABC DEF GH.\nabc def gh."反序为"GH. DEF ABC\ngh. def abc" //// 方法:先将句子中字母倒置,然后将每个单词字母倒置,如下. // .HG FED CBA\n.hg fed cba// GH. DEF ABC\ngh. def abc //#include <cstdlib>#include <cassert>#include <iostream>//// 将单词字母倒置. //void re 阅读全文
posted @ 2011-06-24 15:18 Atypiape 阅读(442) 评论(0) 推荐(0) 编辑
摘要:本文源自:http://hi.baidu.com/heartsoft2008/blog/item/41fc5e4ec6b76700b2de05c5.html这3个词是经常容易混淆的,因为中文并不是世界上最严密的语言(据说是法语,一个句子一般只有一种理解,所以有些国家订合同是用法语的),中文是不区分那么多种类的,就是正和反来界定,这也造成了在学外语的时候看到很多近义词就让我们抓狂。 由于是辨异,下面逐一解释它们的不同点,对于相同的地方(如都可以表示事物的对立面opposite)就略去不说了。1、Inverse:侧重数量关系、所处位置上的相反。可译为:(在数或量上呈)反向变化的,上下颠倒的,倒置的 阅读全文
posted @ 2011-06-24 15:13 Atypiape 阅读(13583) 评论(0) 推荐(1) 编辑
摘要:使用SQL2005进行创建数据库的时候,如果遇到创建失败的情况,如下: Create 对于 数据库“xxxx”失败。 (Microsoft.SqlServer.Smo) Collation '<服务器默认值>' is not valid. (Microsoft.SqlServer.Smo)这是因为创建数据库的时候,没有制定正确的Collation(即“选项”中的“排序规则”),一般情况下默认属性就可以了,但是也不排除出现问题的可能,所以,如果出现上述问题,请自行制定正确的排序规则即可: Chinese_PRC_CI_AS。 就排序规则的含义,也做下简单的介绍: MS 阅读全文
posted @ 2011-06-23 17:12 Atypiape 阅读(337) 评论(0) 推荐(0) 编辑
摘要:本笔记整理了杨中科老师在传智播客.Net培训的《SQL从入门到提高》视频讲座。视频相关链接:http://www.rupeng.com/forum/tj-16325-2477.html数据库相关概念1、什么是索引?优缺点是什么?索引是对数据库表中一列或多列的值进行排序的一种单独的、物理的数据库结构。 优点: 1) 大大加快数据的检索速度; 2) 创建唯一性索引,保证数据库表中每一行数据的唯一性; 3) 加速表和表之间的连接; 4) 在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。 缺点: 1) 索引需要占物理空间; 2) 当对表中的数据进行增加、删除和修改的时候,索引也 阅读全文
posted @ 2011-06-23 16:13 Atypiape 阅读(529) 评论(0) 推荐(0) 编辑
摘要:假定有一个表为 users,其中字段 id 为主键,当要获取第 page_number 页的数据,每页大小为 page_size ,可进行如下分页查询:SELECT TOP page_size * FROM users WHERE id> (SELECT MAX(id) FROM (SELECT TOP ((page_number-1)*page_size) id FROM users ORDER BY id ASC) AS T ) ORDER BY id ASC;查询顺序由内层向外层进行:1、对 users 表按 id 进行升序排列,查询 users 表前 page_number-1 阅读全文
posted @ 2011-06-21 11:11 Atypiape 阅读(790) 评论(0) 推荐(0) 编辑
摘要:下面是我觉得比较能够体现面试官意图的代码://// 模拟 C 标准库函数 strcpy 的实现。// 百度百科词条“strcat”有详细解说.//#include <cstdlib>#include <cassert>#include <iostream>#include <exception>// C++ 中推荐的常量定义方式.const unsigned _MAX_STRING = 100;char* strcpy(char* szDest, const char* szSrc){ // 特殊情况的判断,我觉的使用断言比抛出异常好. asse 阅读全文
posted @ 2011-06-11 21:34 Atypiape 阅读(1315) 评论(0) 推荐(0) 编辑
摘要:下面的阐述的内容只是对前辈经验的整理。由于早期计算机的内存容量很小,为了尽量节省空间,交换两变量值时不使用中间变量。但这可能暗藏着缺陷。有一个巧妙的函数 swap 是这样编写的:inline void swap(int &a, int &b){ a = a + b; //缺陷1: 可能产生上溢. b = a - b; a = a - b;}引发缺陷 1 的原因是,当 a 和 b 的值比较大,相加之和的实际值大于 int 类型所能表示的数值范围,此时产生上溢。当传入 swap 函数的实参来自同一变量时,将会引发另一个缺陷:int a = 2;// 缺陷 2: 传入同一变量, 变量 阅读全文
posted @ 2011-06-03 02:44 Atypiape 阅读(418) 评论(0) 推荐(0) 编辑
摘要:搞笑版优点:多种功能,加快任务实现。缺点:多重性格,易得精神分裂。严肃版优点:对象可以调用多个基类中的接口。缺点:易产生二义性和钻石型继承问题。 阅读全文
posted @ 2011-06-03 02:00 Atypiape 阅读(1364) 评论(0) 推荐(0) 编辑
摘要:重载(overload)是指在相同的作用域内,不同的函数使用相同的函数名,但函数的参数表不同(参数个数不同,或参数类型不同,或二者都不同)。调用的时候根据函数的参数表来区别不同的函数。覆盖(override)是指子类重新定义父类的虚函数。重新定义的函数与被覆盖的虚函数的函数名和参数表都一样,只是函数的实现不同。 阅读全文
posted @ 2011-06-03 01:32 Atypiape 阅读(374) 评论(0) 推荐(0) 编辑
摘要:一个由C/C++编译的程序占用的内存分为以下几个区域:1、栈区(stack)由系统自动分配和释放,用于存放函数的参数值,局部变量值等。其在内存中是一块连续的存储区域,由低地址向高地址延伸。2、堆区(heap)由程序员分配和释放,若程序员不释放,则程序结束时可能由操作系统回收。其存储空间在内存中是不连续,分配方式类似于链表。 3、静态区(static)又称全局区,程序结束后由系统释放,用于存放全局变量和静态变量。初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量则存储在相邻的另一块区域。 4、文字常量区程序结束后由系统释放,用于存储常量,字符串常量就是放在这里的。5、程 阅读全文
posted @ 2011-06-03 01:08 Atypiape 阅读(1437) 评论(0) 推荐(0) 编辑
摘要:分配方式:栈由系统自动分配和释放,用于存放函数的参数值,局部变量值等。堆由程序员分配和释放,若程序员不释放,可能在程序结束时由操作系统回收。分配效率:栈的分配效率比堆要高得多,但堆的使用更灵活。空间大小:栈是连续的一块内存区域,其空间较小,是在编译时就确定了的,易产生栈溢出。堆的内存区域是不连续的,其空间较大。碎片问题:堆的使用容易产生碎片,使程序效率降低。而栈则不存在这个问题。 阅读全文
posted @ 2011-06-03 00:48 Atypiape 阅读(416) 评论(0) 推荐(0) 编辑
摘要:下面代码仅供本人复习所用,实用性N低,各位飘过吧~~哈哈:>//// 字符串转换为整数. // #include <cstdlib>#include <iostream>#include <string>long toInteger(const std::string &str){ bool isNegative = false; long result = 0; size_t i; const size_t length = str.length(); // // 跳过非数字或符号的字符. // for (i = 0; i < leng 阅读全文
posted @ 2011-06-01 20:19 Atypiape 阅读(278) 评论(0) 推荐(0) 编辑
摘要:下面代码仅供本人复习所用,实用性N低,各位飘过吧~~哈哈:>//// 求素数. //#include <cstdlib>#include <cmath>#include <iostream>#include <vector>#include <iomanip>typedef std::vector<unsigned long> Primer;//// 将 range 范围内的素数保存到向量 primer 中.// 当一个数除以 2 直到到它的平方根时都没有整除,则该数为素数. //void getPrimer(Pri 阅读全文
posted @ 2011-06-01 17:03 Atypiape 阅读(216) 评论(0) 推荐(0) 编辑
摘要:__int64 是有符号 64 位整数数据类型,也就是 C# 中的 long 和 SQL Server 中的 bigint,范围为 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807),存储空间占 8 字节。用于整数值可能超过 int 数据类型支持范围的情况。__int64是Microsoft自创的。要用 64 位整型的话,C 中本来就有自带long long,如下:#include <stdlib.h>#include <stdio.h>#include <limits.h 阅读全文
posted @ 2011-06-01 15:57 Atypiape 阅读(4295) 评论(0) 推荐(0) 编辑
摘要:下面代码仅供本人复习所用,实用性N低,各位飘过吧~~哈哈:>//// 十进制转二进制. // #include <cstdlib>#include <iostream>#include <vector>//// 使用 unsigned long long 类型数值来表示二进制数,// 由于这样表示的二进制数位数有限,顾输入参数为 unsigned short 类型. //unsigned long long toBinary(unsigned short decimal) { long long binary = 0; long long carry 阅读全文
posted @ 2011-06-01 15:45 Atypiape 阅读(961) 评论(0) 推荐(0) 编辑
摘要:下面代码仅供本人复习所用,实用性N低,各位飘过吧~~哈哈:>//// 杨辉三角. //// 杨辉三角除每行第一个元素和最后一个原始均为 1 外,// 其他元素等于它上面左右两边的元素之和. // #include <cstdlib>#include <iostream>#include <iomanip>#include <stdexcept>#include <ctime>const size_t ROWS = 10;//// 二维数组法. //void pascalTriangle_array(unsigned long ( 阅读全文
posted @ 2011-06-01 14:46 Atypiape 阅读(693) 评论(0) 推荐(0) 编辑
摘要:使用setw(n)设置输出宽度时,默认为右对齐,如下:// include <iostream>// include <iomanip>std::cout << std::setw(5) << "1" << std::endl;std::cout << std::setw(5) << "10" << std::endl;std::cout << std::setw(5) << "100" << std:: 阅读全文
posted @ 2011-06-01 13:21 Atypiape 阅读(38837) 评论(0) 推荐(5) 编辑

点击右上角即可分享
微信分享提示