
C++
文章平均质量分 59
lxpcgh
这个作者很懒,什么都没留下…
展开
-
sniffer
在stdafx.h中添加:#include #include //用于IP_HDRINCL标记#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)#define BUFFER_SIZE 65535typedef struct _TCP{ WORD SrcPort; // 源端口WORD DstPort; // 目的端口DWORD SeqNum; // 顺序号DWORD原创 2005-07-05 17:37:00 · 742 阅读 · 0 评论 -
得到CPU利用率的算法(转载)
#include #include #include #include static int timer; void cb_quit() { gtk_timeout_remove (timer); gtk_main_quit(); } float cal_load (void) { FILE * fp; static long pre_user, pre_nice, pre_system, pre原创 2005-08-06 14:55:00 · 1322 阅读 · 0 评论 -
C和C++的时间编程(转载)
经常要用到时间,脑袋里又记不住,全都找出来整理在这里,随时看哈哈unix时间相关,也是标准库的这些在1.timegm函数只是将struct tm结构转成time_t结构,不使用时区信息;time_t timegm(struct tm *tm);2.mktime使用时区信息time_t mktime(struct tm *tm);timelocal 函数是GNU扩展的与posix函数mktime相当原创 2005-08-06 14:57:00 · 3393 阅读 · 1 评论 -
Introduction to COM(转自www.codeproject.com)
Purpose of this ArticleI have written this tutorial for programmers who are just starting out in COM and need some help in understanding the basics. The article briefly covers the COM specification, a原创 2005-08-28 23:59:00 · 1759 阅读 · 0 评论 -
关于msflexgrid控件的开发时所遇到的问题
最近用msflexgrid做了一个小软件,在发布的时候我带上了VC提供的MSFlEXGRD.ocx并在客户的电脑上进行了注册.但是运行的时候总是在create函数执行的时候出错.我看了半天也没有得到答案.后来在论坛上提问了,最后有一个mackz的人告诉我控件是需要认证的.这还是我第一次听说呢.所有的认证信息都储存在注册表的HKEY_CLASSES_ROOT//Licenses/下.在微软的原创 2005-10-13 23:28:00 · 1276 阅读 · 0 评论 -
ADO封装类的实现
声明:///////////////////////////////////////////////////////////////////////////////////////////////用来访问数据库的类。要用次类的话,程序中应该进行的初始化工作为://///在stdafx.h中包含下面一句,用来将ado的dll文件引入到程序中://///#import "C:/Program File原创 2005-06-08 21:30:00 · 2378 阅读 · 1 评论 -
一定要注意内存的栈情况和缓冲区的设置
目前做一个游戏方面的东西,需要修数据库,于是就封装了一个类访问数据库。但是在调用这个对象的特定方法中,这个方法总是出现错误。代码如下: char szSelect[80]; sprintf(szSelect,"select c_xynm,c_jbmc,c_yxzjs,c_zsjs,c_ljjf from t_s_hyml,c_b_jbbz where t_s_原创 2005-12-24 06:58:00 · 1350 阅读 · 0 评论 -
vc操作excel程序退出的问题
公司给了我一个任务,用excel调用模版生成结帐单并进行打印。我在努力的n天以后终于完成了。现在总结一下: 1.速度问题,vc读写excel的时候速度是很慢的,如果一个一个单元格的读写,能把你给急死。所以在读取和写入excel的时候,我使用了安全数组,这样能够将对应的数据一次性从文件中读出或者是写入。 2.关于屏蔽掉最后“确定改变文件”的对话框,用Book的clo原创 2006-01-06 10:18:00 · 3740 阅读 · 6 评论 -
关于strncpy的问题
strncpy函数用来进行字符串的拷贝。 strncpy(szDest,szSrc,n) 用来将指定的字符串中szSrc中的n个字符拷贝到szDest。这里有一个容易出错的地方。如果szSrc拷贝到szDest中的字符串最后不包括/0的话,可能会覆盖szDest中的/0,这样szDest中后面就容易出现乱码。原创 2006-02-16 11:55:00 · 795 阅读 · 0 评论 -
汉字转化为拼音(转贴)
/********************以下是头文件********************************//* 名称: Py.h * 实现功能: 获取拼音 * 版本: 1.00 * 说明: 本版本由网上获得的一个Dephile程序"翻译"而来 * 翻译者: bohut * 完成时间 : 2003.07.08 */#pragma once#define PYMUSICCOUNT转载 2006-02-11 11:08:00 · 1661 阅读 · 0 评论 -
SetStretchBltMode函数的问题
SetStretchBltMode函数设置在指定设备内容中的伸展模式。 int SetStretchBltMode( HDC hdc, // DC的HANDLE int iStretchMode // 位图伸展模式 ); Hdc:输入,设备内容的HANDLE iStretchMode:输入,指定的伸展模式,参数可以下面值之一:转载 2006-10-30 01:19:00 · 5126 阅读 · 0 评论 -
又一些东西
1. 在VC++中,AfxMessageBox消息框的标题会默认为程序的标题。怎么修改呢? 在CMyApp::InitInstance中进行修改,其中的成员函数m_pszAppName就是AfxMessageBox默认的标题。BOOL CMyApp::InitInstance(){ AfxEnableControlContainer(); free((void*)this->m原创 2006-07-07 08:00:00 · 844 阅读 · 0 评论 -
关于"建立空文档失败"的问题的分析!(转载)
关于"建立空文档失败"的问题的分析!许多新手在遇到此类问题时总是措手无策,如果谁有耐心就看看我写的下面这片文章吧。这类问题的出现主要在BOOL CWinApp::ProcessShellCommand(CCommandLineInfo& rCmdInfo);函数的关键内容:BOOL bResult = TRUE;switch (rCmdInfo.m_nShellCommand){case CCo原创 2005-08-06 16:36:00 · 3880 阅读 · 0 评论 -
编程风格(转贴)
写作干净美观的代码,不仅仅使得代码更容易阅读,还使得代码能够成为一件艺术品。同微软的匈牙利命名法一样,在Linux上编程主要有两种编程风格: GNU风格和Linux核心风格 编程风格 Linux作为GNU家族的一员,上面的源代码数以万计,而在阅读这些源代码时我们会发现,不同的源代码的美观程度和编程风格都不尽一样,有些代码,如glibc的代码: static void转载 2005-08-06 15:07:00 · 901 阅读 · 0 评论 -
VC6中编译参数设置(转贴)
编译参数的设置 主要通过VC的菜单项Project->Settings->C/C++页来完成。我们可以看到这一页的最下面Project Options中的内容,一般如下: /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /Fp"Debug/WritingDlg转载 2005-08-06 15:01:00 · 758 阅读 · 0 评论 -
解决了一个问题。
在setsockopt的时候总是出现10022的错误。该了很多地方没有成效。最后把bool flag = true; setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char*)&flag, sizeof(flag));改为:int flag = true;setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char*)&flag,si原创 2005-07-13 20:36:00 · 2196 阅读 · 0 评论 -
VC技巧集合
一.让程序只运行一个实例的方法//首先在InitInstance()函数中创建一个同步对象,如果(GetLastError()返回ERROR_ALREADY_EXISTS表明存在 //一个应用实例了,返回false取消 // 创建同步对象hMutexOneInstantance=CreateMutex(NULL,TRUE,_T("PreventSecondInstance")); if(Get原创 2005-07-21 09:01:00 · 739 阅读 · 0 评论 -
实时监控的客户端
对于客户端来说,接受语音数据并进行播放时最关键的。下面是我写的小程序:CStringArray aResult; CPData * p = new CPData(); p->Connect("sa","sa"); p->Select("select telstate from channelpara where channelno=0",aResult); int no = aResult.Get原创 2005-07-18 11:21:00 · 802 阅读 · 0 评论 -
内存对齐方式
在结构体定义的时候,如果要将结构体向文件中写入的话.需要保证结构体在内存中不能出现内存陷阱.这就涉及到内存对齐的问题了.VC++中默认的对齐方式为两个字节如下为定义为一个字节,这样内存中就不会有什么陷阱了:#pragma pack(1)typedef struct{ char RiffID[4]; DWORD dwFileDataSize; char WaveID[4]; ch原创 2005-08-06 11:01:00 · 775 阅读 · 0 评论 -
linux下用socket的抓包程序(转载)
利用socket在linux下面,通过修改网卡成为混杂模式,进行链路层抓包.可以作为一个sniffer的前一部分,后面根据具体协议具体分析. #include #include #include #include #include #include #include #include #include #include #include #include #原创 2005-08-06 14:44:00 · 2407 阅读 · 2 评论 -
制作启动界面
利用VC++下的splash screen组件可以实现此功能.原创 2005-08-06 10:50:00 · 602 阅读 · 0 评论 -
VC++ Studio使用技巧(转贴)
1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号2.查看一个宏(或变量、函数)的宏定义把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的 Go To Defition Of…),如果没有建立Browse files,会出现提示对话框,确定,然后就会跳到定义那些东西的地方。3.格式转载 2005-08-06 15:04:00 · 786 阅读 · 0 评论 -
打开特殊的系统窗口(转自flyblog.008.net)
可以通过执行下面的一些命令,来打开一些特殊的系统窗口,下面的一些参数可能在WIN2000下无效,自己可以试一试。我在XP上试过。命令列: rundll32.exe shell32.dll,Control_RunDLL功能: 显示控制面板命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1功能: 显示“控制面板-辅助选项-键盘”选项视窗原创 2005-08-06 10:12:00 · 1087 阅读 · 1 评论 -
#pragma 预处理指令详解[转载]
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的参数。原创 2005-08-06 14:37:00 · 642 阅读 · 0 评论 -
告别以前的方法( Writing Secure Code 的作者之一Michael Howard)
摘要: Michael Howard 介绍了这一工作,该工作旨在使 C 运行库在面对恶意代码的威胁时,更加可靠。这项变更适用于 Visual Studio 2005,它还将同时对 C 运行库和 C++ 标准模板库产生影响。注意:本文中的内容适用于发布前的软件版本。发布产品时,可能会更改本文档中的部分内容。本页内容新版 CRT 的新增功能C++ 中的情况标准的变化小结发现安全漏洞无论是居室还是代码,原创 2005-08-06 14:47:00 · 1216 阅读 · 2 评论 -
关于Debug和Release之本质区别(转载)
--------------------------------------本文主要包含如下内容:1. Debug 和 Release 编译方式的本质区别2. 哪些情况下 Release 版会出错3. 怎样“调试” Release 版的程序-------------------------------------- 关于Debug和Release之本质区别的讨论 一、Debug 和 Release原创 2005-08-06 15:00:00 · 722 阅读 · 0 评论 -
一些经验和体会
1. 关于图片在不同的设备上用StretchBlt进行传送时会出现失真现象.解决方法有二: a. 在调用stretchblt函数之前调用函数SetStretchBltMode(COLORONCOLOR) 对传送的属性进行设置,这样就可 以使失真问题解决 b. 第二个方法就是在传递的时候,将图片按照比例进行传递.在理论上来说,应该不会产生失真效果的.但是,我实验过,失真原创 2006-07-04 06:57:00 · 844 阅读 · 0 评论