技术文章
文章平均质量分 69
buptzwp
这个作者很懒,什么都没留下…
展开
-
setsockopt 设置socket (转贴)
setsockopt 设置socket (转贴) 转自:http://blog.csdn.net/qinmi/archive/2007/03/07/1523081.aspx 1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE; setsockopt(s,SOL_SOCKET ,SO原创 2009-12-22 14:30:00 · 516 阅读 · 0 评论 -
什么是字节对齐,为什么要对齐?
什么是字节对齐,为什么要对齐?什么是字节对齐,为什么要对齐?现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大转载 2009-12-22 14:32:00 · 479 阅读 · 0 评论 -
Linux中的地址空间
Linux中的地址空间有这么一系列的问题,是否在困扰着你:用户程序编译连接形成的地址空间在什么范围内?内核编译后地址空间在什么范围内?要对外设进行访问,I/O的地址空间又是什么样的? 先回答第一个问题。Linux最常见的可执行文件格式为elf(Executable and Linkable Format)。在elf格式的可执行代码中,ld总是从0x8000000开始安排程序的“代码段”转载 2009-12-22 14:34:00 · 519 阅读 · 0 评论 -
输入一个字符串,要求找出字符串中最大子串的长度
关于C语言编程的题目:输入一个字符串,要求找出字符串中最大子串的长度(如字符串abcd13agbf,当重复出现某个字符时,算一个子串,比如abcd13a或bcd13agb都是子串)。int GetMaxSubStr(const unsigned char *str){ int maxLen = 0; if (NULL == str) { r转载 2009-12-22 14:38:00 · 2787 阅读 · 0 评论 -
重载(overload),覆盖(override),隐藏(hide)的区别
写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖(override),隐藏(hide)。在早期的C++书籍中,可能翻译的人不熟悉专业用语(也不能怪他们,他们不是搞计算机编程的,他们是英语专业的),常常把重载(overload)和覆盖(override)搞错! 我们先来看一些代码及其编译结果。 实例一: #include "stdafx.h"转载 2009-12-22 14:43:00 · 509 阅读 · 0 评论 -
指针和引用的区别于联系
1 什么情况下只能用指针,不能用引用。 2 什么情况下只能用引用,不能用指针。 引用和指针: 1.引用是某个已经存在的对象,指针可以指向空值; 2.应用指向某个对象后不可以指向其他对象,指针可以指向其他的合适对象; 3.当参数传递时,指针要做非空检验,引用一般没必要; 4.重载某个操作符的时候,应该用引用; 如果我遇到转载 2009-12-22 14:49:00 · 377 阅读 · 0 评论 -
cin用法介绍(特别是学习了cin.clear和cin.sync)
#includeusing namespace std;int main(){ char cstr; cstr=cin.get(); //读取单个字符,在屏幕输入,也相当于cin.get(cstr); cout<< system("pause");} 第一次搞cin,真是搞昏人了,现在逐渐开始明白是什么东东,一起探讨一下吧!转载 2009-12-22 14:49:00 · 747 阅读 · 0 评论 -
C++的四种cast操作符的区别--类型转换
C++的四种cast操作符的区别--类型转换 C++的四种cast操作符的区别 ---------------------------------------------------------------------- Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?转载 2009-12-22 14:50:00 · 660 阅读 · 0 评论 -
编程修养
编程修养 1、版权和版本 ——————— 好的程序员会给自己的每个函数,每个文件,都注上版权和版本。 对于C/C++的文件,文件头应该有类似这样的注释: /************************************************************************ * * 文件名:network.c * * 文件描述:网络通讯函数集 *转载 2009-12-22 14:50:00 · 435 阅读 · 0 评论 -
转换字符(就是%后跟的部分)
转换字符(就是%后跟的部分) a 读浮点值(仅适用于 C99) A 读浮点值(仅适用于 C99) c 读单字符转载 2009-12-22 14:51:00 · 666 阅读 · 0 评论 -
CString/string 区别及其转化
CString/string 区别及其转化 利用MFC进行编程时,我们从对话框中利用GetWindowText得到的字符串是 CString类型,CString是属于MFC的类。而一些标准C/C++库函数是不能直接对CString类型进行操作的,所以我们经常遇到将 CString类型转化char*等等其他数据类型的情况。这里总结备忘于此! 首先要明确,标准C中是不存在string转载 2009-12-22 14:51:00 · 2285 阅读 · 0 评论 -
MFC应用程序中指针的使用
MFC应用程序中指针的使用 作者:gouguijia1) 在View中获得Doc指针 2) 在App中获得MainFrame指针 3) 在View中获得MainFrame指针 4) 获得View(已建立)指针 5) 获得当前文档指针 6) 获得状态栏与工具栏指针 7) 获得状态栏与工具栏变量转载 2009-12-22 14:58:00 · 607 阅读 · 0 评论 -
c文件操作函数
c文件操作函数 clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值 fclose(关闭文件) 相关函数 close,fflu转载 2009-12-22 14:59:00 · 588 阅读 · 0 评论 -
SQL中文问排序
SQL中文问排序 首先把这些信息在editplus中,转换为一列,拷贝到excel中,拷贝后记着在第一行前插入一行,作为列标头,例如为name,然后在sql中表中,导入数据,生成一个新表,例如fenlei,打开sql语句行,执行:SELECT * FROM Fenlei ORDER BY name COLLATE Chinese_PRC_CS_AS_KS转载 2009-12-22 14:59:00 · 627 阅读 · 0 评论 -
获取中文汉字首拼音字母
#include #include using namespace std; static char convert(wchar_t n); static bool In(wchar_t start, wchar_t end, wchar_t code); int main(int argc, char* argv[]) { string转载 2009-12-22 15:01:00 · 678 阅读 · 0 评论 -
list control排序问题
这些时候研究ListControl的排序,真是头都要大了,我的情况是在一个 dialog上放了多个ListControl,要在点击其中一个的一列的时候进行排序,在网上找了好多资料,讲得都不是很清楚,现在想来,不是没讲到要点,就是讲得太不清楚,让人云里雾里的,真是郁闷啊,讲清楚了的就没一个!!都是缺这少那的,走了不少错路,唉~~~ ListControl排序,是要靠参数项(LV转载 2009-12-22 15:01:00 · 2296 阅读 · 0 评论 -
GetSystemMetrics 参数介绍
SM_ARRANGE Flags specifying how the system arranged minimized windows. For more information about minimized windows, see the following Remarks section. SM_CLEANBOOT 返回系统启动方式: 0 正常启动 1 安全模式启转载 2009-12-22 15:02:00 · 746 阅读 · 0 评论 -
在使用VC进行绘图时,屏幕闪烁问题
在使用VC进行绘图时,最郁闷的就是屏幕闪烁问题。有时只能使用双缓冲去解决,当然更多的时候是去忍受。有没有什么这种的方法?有,那就是重载 OnEraseBkgnd()函数。该函数控制重绘图的背景刷新,默认将窗口用系统背景颜色填充,即用白色将窗口刷一遍。这就产生的严重的闪烁效果,有时看到屏幕白的一条一闪而过,非常不爽。如果将该函数返回值设为TRUE,即不进行背景重绘,虽然屏幕的刷新仍然会闪烁,但是就不原创 2009-12-22 14:30:00 · 1197 阅读 · 0 评论 -
SocketAPI之send函数和recv函数详解
SocketAPI之send函数和recv函数详解 SocketAPI之send函数和recv函数详解 今天我们进一步讲解socketapi的系列函数。其它的listen,connect,accept函数都讲过了。本文着重讲解send函数和recv函数。 send函数: 函数原型int send( SOCKET s, const char FAR *buf, int len原创 2009-12-22 14:29:00 · 774 阅读 · 1 评论 -
memcpy() 与strcpy()得区别
memcpy() -- 拷贝内存内容 2007年07月06日 星期五 09:07 相关函数: bcopy(), memccpy(), memmove(), strcpy(), strncpy() 表头文件: #include 定义函数: void *memcpy(void *dest, const void *src, size_t n) 函数说明: memcpy()用来拷原创 2009-12-22 14:29:00 · 318 阅读 · 0 评论 -
解决TCP网络传输“粘包”问题
解决TCP网络传输“粘包”问题 作者:杨小平 王胜开 原文出处:http://www.ciw.com.cn/ 当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API)。TCP/IP传输层有两个并列的协议:TCP 和UDP。其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务。UDP原创 2009-12-22 14:31:00 · 514 阅读 · 0 评论 -
BMP文件结构
1. BMP文件组成 BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。 2. BMP文件头 BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。 其结构定义如下: typedef struct tagBITMAPFILEHEADER { WORD转载 2009-12-22 14:32:00 · 367 阅读 · 0 评论 -
全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?
全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的? 区别就是作用域的区别,局部变量局部可见,全局变量,所有参与链接的模块都可以通过extern来操作该变量.局部变量{}内部定义的非静态变量都是局部变量了全局变量:在函数外部定义的非静态变量就是全局变量了 操作系统不需要知道谁是局部,谁是全局的转载 2009-12-22 14:45:00 · 6819 阅读 · 1 评论 -
system()函数命令资料全集
ASSOC 显示或修改文件扩展名关联。AT 计划在计算机上运行的命令和程序。ATTRIB 显示或更改文件属性。BREAK 设置或清除扩展式 CTRL+C 检查。CACLS 显示或修改文件的访问控制列表(ACLs)。CALL 从另一个批处理程序调用这一个。CD 显示当前目录的名称或将其更改。CHCP 显示或设置活动代码页数。CHDIR 显示当前目录的名称或将转载 2009-12-22 14:47:00 · 715 阅读 · 0 评论 -
String类的实现
String类的实现 #include using namespace std;class String{ friend ostream& operator<< (ostream&,String&);public: String(const char* str=NULL); //赋值构造兼默认构造函数转载 2009-12-22 14:52:00 · 580 阅读 · 0 评论 -
CString ,BSTR ,LPCTSTR之间关系和区别
CString ,BSTR ,LPCTSTR之间关系和区别 CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。 CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。 typedef OLECHAR FAR* BST转载 2009-12-22 14:53:00 · 454 阅读 · 0 评论 -
GetCurrentProcessID、OpenProcessToken
GetCurrentProcessID 得到当前进程的ID OpenProcessToken 得到进程的令牌句柄 LookupPrivilegeValue 查询进程的权限 AdjustTokenPrivileges 判断令牌权限 要对一个任意进程(包括系统安全进程和服务进程)进行指定了写相关的访问权转载 2009-12-22 14:53:00 · 1816 阅读 · 0 评论 -
Windows终止线程运行的四种方法
Windows终止线程运行的四种方法终止线程运行 若要终止线程的运行,可以使用下面的方法: • 线程函数返回(最好使用这种方法)。 • 通过调用 ExitThread 函数,线程将自行撤消(最好不要使用这种方法)。 • 同一个进程或另一个进程中的线程调用 TerminateThread 函数(应该避免使用这种方法)。 • 包含转载 2009-12-22 15:02:00 · 580 阅读 · 0 评论 -
ANSI C中的文件操作
在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。一、流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下:typedef struct {int level; /* fill/empty level of buffer */unsigned flags; /* File status fla转载 2009-12-22 13:49:00 · 738 阅读 · 0 评论 -
STL排序比
时间测试这将我们置身何处?我已经对时间作了一些论断,而且我们还能作些更直觉的预测:比如,在set中插入一个元素将比排序一个vector慢,因为set是一个复杂的数据结构,它需要使用动态内存分配;或者,排序一个list应该和使用stable_sort差不多快,它们都是归并排序的变种。然而,直觉不能取代时间测试。测量很困难 (更精确地说,你要测量什么,又如何测量?),但这是有必要的原创 2009-12-22 14:25:00 · 682 阅读 · 0 评论 -
隐式类型转换规则
1. 如果其中一个操作数为long double类型,则另一个操作数被转换为long double. 2. 否则,如果其中一个操作数为double, 则另一个操作数被转换为double. 3. 否则,如果其中一个操作数为float, 则另一个操作数也转换为float. 4. 否则,两个操作数进行 "整型升级": a. 如果其中一个操作数为unsigned lo原创 2009-12-22 14:26:00 · 674 阅读 · 0 评论 -
判断字符串的大小写
判断大小写: str[]="aBcdEFG"; for(int i=0;i{ if(str[i]>64&&str[i] str[i]+=32; } 大小写转换 #include #include #include int main() { char szSource[25] = {0}; //输入 scanf(原创 2009-12-22 14:26:00 · 1496 阅读 · 0 评论 -
两个循环的效率哪个高?
http://topic.csdn.net/u/20071206/20/5ae1a8f9-fab5-443c-a2ea-af1d755f5de1.html原创 2009-12-22 14:27:00 · 665 阅读 · 0 评论 -
如何求S=a+aa+aaa+aaaa……(n个)
如何求S=a+aa+aaa+aaaa……(n个) 法一: #include int getresult_Problem(int K, int N ) { int Unit = 1; int Temp = 1; for (int i = 1; i { Temp = ((Temp * 10) + 1); Unit =原创 2009-12-22 14:28:00 · 3356 阅读 · 0 评论 -
回调函数
回调函数 简介 对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 什么是回调函数? 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就原创 2009-12-22 14:28:00 · 424 阅读 · 0 评论 -
Setimer和Ontimer的使用(转)
Setimer和Ontimer的使用(转) 关于OnTimer()函数的填写,对于CDialog,可以Ctrl+W中添加; 对于SetTimer可以在初始化当中添加! OnTimer()函数是响应用SetTimer()函数设定的时钟发送的时钟消息的,你没设定时钟,就不会有时钟消息,OnTimer()里的语句当然也不会被调用。 为类添加VM_TIMER消息响应,会看到类中多了个OnTimer原创 2009-12-22 14:28:00 · 944 阅读 · 0 评论 -
STL函数
泛型算法: 1.find(开始索引,结束索引,查找值)。 2.copy(开始索引,结束索引,back_inserter(容器))。back_inserter成为iterator的适配器:它使得元素被插入到作为实参的vector的尾部。 3.sort(开始索引,结束索引)。 4.unique(开始索引,结束索引)。只是去掉相邻元素的重复值。操作后容器的长度不会变转载 2009-12-22 15:03:00 · 934 阅读 · 0 评论