C++语言
文章平均质量分 51
scarin
这个作者很懒,什么都没留下…
展开
-
#pragma pack(n)
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如,下面的结构各成员空间分配情况:struct test {原创 2013-12-20 16:55:11 · 464 阅读 · 0 评论 -
VS2008 与 QT4.5 集成
原文地址:http://www.cnblogs.com/guernica/archive/2011/12/09/2282488.html最近需要在 Windows 上用 Visual Studio 来开发 Qt 程序,做了一下 VS2008 和 QT 的集成,集成完之后发现用VS开发Qt的确方便:支持控件拖拉,编译调试方便,支持代码的IntelliSense ... 。简直是开发Qt程序的不二之选原创 2013-12-20 16:57:20 · 546 阅读 · 0 评论 -
显示float类型的16进制值
工作中经常要在float和16进制值互转,以前用控制台分别写了四个程序,用起来不是那么的方便,所以开发了一个有界面的工具HexFloat。下载地址:http://u.115.com/file/clwor2pw原创 2013-12-20 16:55:31 · 1491 阅读 · 0 评论 -
cout格式化输出
//在使用setf等库函数时使用//在使用流操纵算子时使用//using namespace std;//以下所有的setf()都有对应的unsetf()用于取消设置//所有的setiosflags()可以用resetiosflags()取消//标志位fmtflags的命名空间可以使用ios_base::或者ios::int laneri = 12345;double lanerd = 56789原创 2013-12-20 16:55:51 · 536 阅读 · 0 评论 -
INI文件读写API
在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下:一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为:BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR原创 2013-12-20 16:55:53 · 656 阅读 · 0 评论 -
fstream支持中文路径
有时候用ifstream或ofstream打开带有中文路径的文件会失败。解决办法:1、使用C语言的函数设置为中文运行环境setlocale(LC_ALL,"Chinese-simplified");2、使用STL函数设置为系统语言环境std::locale::global(std::locale(""));当然选2啦!原创 2013-12-20 16:55:56 · 613 阅读 · 0 评论 -
MFC最小化到系统托盘
MFC最小化到系统托盘--《VC编程知识总结》之一 在VC++中,想实现将MFC最小化到系统托盘,需要调用NOTIFYICONDATA类,并注册相应的消息,以下详细讲解如何实现: 第一步,声明一个NOTIFYICONDATA类,也就是NOTIFYICONDATA NotifyIcon;该句可以放在Dlg类的声明中,作为Dlg类的一个成员;也可以放在Dlg类的实现中,作为全局变量来使用。原创 2013-12-20 16:56:16 · 517 阅读 · 0 评论 -
CString,int,string,char*之间的转换收藏
string 转 CString CString.format("%s", string.c_str()); char 转 CString CString.format("%s", char*); char 转 string string s(char *); string 转 char * char *p = string.c_str(); CString 转 string s原创 2013-12-20 16:56:18 · 462 阅读 · 0 评论 -
Flie遍历文件夹下的文件名
#include #include // _findfirstusing namespace std;int main(int argc, char* argv[]) { char filespec[BUFSIZ]; struct _finddata_t fileinfo; intptr_t filehandle;if (argc == 1) { cout exit(0); } sprintf原创 2013-12-20 16:56:20 · 574 阅读 · 0 评论 -
vs2008环境下使用zlib库
1. 官网上下载dll库:http://zlib.net/zlib127-dll.zip2. 工程里代码编写:#include #pragma comment(lib, "zdll.lib")即可开始调用zlib的API函数3. (1) int compress (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLe原创 2013-12-20 16:56:29 · 976 阅读 · 0 评论 -
代码自动生成-宏带来的奇技淫巧
代码自动生成-宏带来的奇技淫巧Author : Kevin Lynx众多C++书籍都忠告我们C语言宏是万恶之首,但事情总不如我们想象的那么坏,就如同goto一样。宏有一个很大的作用,就是自动为我们产生代码。如果说模板可以为我们产生各种型别的代码(型别替换),那么宏其实可以为我们在符号上产生新的代码(即符号替换、增加)。关于宏的一些语法问题,可以在google上找到。相信我,你对于宏的了解绝对没你想原创 2013-12-20 16:56:46 · 1754 阅读 · 0 评论 -
va_start和va_end使用详解
介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表void foo(...);void foo(parm_list,...);这种方式和我们以前认识的不大一样,但我们要记住这是C中一种传参的形式,在后面我们就会用到它。2.函数参数的传递原理 函数参数是以数据结构:栈的形式存取,从右至左入栈。 首先是参数原创 2013-12-20 16:57:13 · 468 阅读 · 0 评论 -
.def导出类
用DEF从DLL导出一个函数,或用__declspec(dllexport)指令从DLL中导出一类,简单而经常使用的。这里向大家介绍一种用DEF文件从DLL导出一个类的方法: 1.打开VC6.0,新建一个"Win32 Dynamic-Link Library"工程,假设叫DefClass,在“Dll kind”选择界面中选择“A simple dll project”。 2.新建一个文原创 2013-12-20 16:57:15 · 1438 阅读 · 0 评论 -
C++大型项目开发约束
第一章简介大型软件项目通常由相应的大型开发团队承担。大型团队生成的代码要有项目范围内可评测的质量,代码必须遵从于某一标准并以此来评价。因此,对大型的项目团队来说,建立一个编程的标准或一组指南很重要。使用编程标准也使以下各项成为可能:增加开发过程代码的强壮性、可读性、易维护性;减少有经验和无经验开发人员编程所需的脑力工作;在项目范围内统一代码风格;通过人为以及自动的方式对最终软件应用质量标准;使新的原创 2013-12-20 16:56:43 · 1589 阅读 · 1 评论 -
#define 多行代码
#define test(x) int i = 100; \ while (x!=i) \ { x = x + 1; \ if (x%50==0) { \ PRINT(x);\ }\ }int _tmain(int argc, _TCHAR* argv[]){ unsigned x = 1; test(x); return 0;}输出:50100原创 2013-12-20 16:56:41 · 621 阅读 · 0 评论 -
关闭RTC检查
项目属性——配置属性——C/C++——代码生成——基本运行时检查调整为默认值原创 2013-12-20 16:55:20 · 835 阅读 · 0 评论 -
打印彩色字体,控制台
#include #include using namespace std;int main(){ CONSOLE_SCREEN_BUFFER_INFO csbiInfo; //存放字体信息的结构体 GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbiInfo); //获取原始的字体信息 //设置字体原创 2013-12-20 16:55:58 · 613 阅读 · 0 评论 -
宽字符函数
用atoi让我很不舒服,于是网上找到这资料,原名叫,觉得标题不妥于是把TCHAR改成WCHAR.字符分类: 宽字符函数普通C函数描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测试字符是否是字母 iswcntrl() iscntrl() 测试字符是否是控制符 iswdigit() isdig原创 2013-12-20 16:56:00 · 768 阅读 · 0 评论 -
C创建文件夹
C创建文件夹#include int main(){ _mkdir("c:\\abc"); _mkdir("c:\\abc\\fadf"); return 0;}原创 2013-12-20 16:56:07 · 1731 阅读 · 0 评论 -
字符0x0d巧用
控制台程序打印的小技巧, char ch2 = 0x0d; for(int i=0; i!=100000; ++i) { cout }这样打印将是在同一个位置上打印i值原创 2013-12-20 16:56:11 · 512 阅读 · 0 评论 -
fstream
在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout 2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表原创 2013-12-20 16:56:13 · 487 阅读 · 0 评论 -
目录文件操作
一、在不使用mfc的程序中获得某个目录下的所有文件名称,包括子目录。把文件名称以一个固定的程度放入一个缓冲中,这个缓冲要足够的大,能容下所有的文件名称。函数的输入为要查找的根目录,输出为存放所有文件名称的缓冲算法:使用递归二、代码:void FindFileInDir(char* rootDir, char* strRet){ char fname[MAC_FILENAMELENOPATH]原创 2013-12-20 16:56:22 · 461 阅读 · 0 评论 -
获取文件大小
#include #include #include #include void main( void ) { struct stat buf; int result; char buffer[] = "A line to原创 2013-12-20 16:56:25 · 488 阅读 · 0 评论 -
FindFirstFile、FindNextFile和FindClose
在开发软件的过程里,经常需要维护目录里的数据。比如在开发银行的信用卡系统里,由于每天创建的LOG非常多,那么一个很大的硬盘,在6个月后,就占用了很多空间。这时就有这样的一个需求,把所有超过6个月的LOG数据定期删除掉。要实现这个功能就得遍历整个目录,把文件名称和文件创建的时间都超过6个月时间的文件删除掉。因此,就需使用到下面的API函数FindFirstFile和FindNextFile来实现这样原创 2013-12-20 16:56:27 · 1272 阅读 · 0 评论 -
#pragma region和#pragma endregion关键字
#pragma region和#pragma endregion关键字可把代码缩行原创 2013-12-20 16:56:36 · 759 阅读 · 0 评论 -
#define用法集锦[修正版]
Definition[定义]:The#define DirectiveYoucan use the #define directive to give a meaningful name to aconstantin your program. The two forms of the syntax are:Syntax#defineidentifier token-s原创 2013-12-20 16:56:39 · 624 阅读 · 0 评论 -
C,C++宏中#与##的讲解
文中__FILE__与示例1可以参见《使用ANSI C and Microsoft C++中常用的预定义宏》宏中的#的功能是将其后面的宏参数进行字符串化操作(Stringizing operator),简单说就是在它引用的宏变量的左右各加上一个双引号。如定义好#define STRING(x) #x之后,下面二条语句就等价。 char *pChar = "hello";转载 2014-01-14 18:55:05 · 639 阅读 · 0 评论