C/C++语言
疯癫小程序
这个作者很懒,什么都没留下…
展开
-
int和long的区别
在早期还是16操作系统的时候,int 是 2字节,long为了区别int,显得更长一点,取名为long,占4字节,确实要长一点但是后来到了32位操作系统,int 和 long 都成了4字节了,为了区分比int更长的类型,搞了个 long long,占8字节现在64位操作系统已经很普遍了,在64位操作系统下,你可以编译32位程序,也可以编译64位程序 如果你编译成32位程序,int和long还是一样都是4字节 如果你编译成64位程序,int是4字节,long是8字节,l...原创 2020-06-24 14:56:29 · 9783 阅读 · 0 评论 -
memmove、memcpy和memccpy简介
memmove、memcpy和memccpy简介memmove、memcpy和memccpy三个函数都是内存的拷贝,从一个缓冲区拷贝到另一个缓冲区。 memmove(void *dest,void*src,int count) memcpy(void *dest,void *src,int count) memccpy(void*dest,void*src,int ch,int count) 表头文件: #include 定义函数: void *memcpy(void *dest, const void *转载 2010-06-19 16:41:00 · 714 阅读 · 0 评论 -
static_cast和reinterpret_cast的使用
CSDN原创 2011-03-15 09:28:00 · 565 阅读 · 0 评论 -
connect
<br />int connect( __in SOCKET s, __in const struct sockaddr *name, __in int namelen);Parameterss [in] <br />A descriptor identifying an unconnected socket.name [in] <br />A pointer to the sockaddr structure to which the connection should be原创 2011-03-17 13:34:00 · 453 阅读 · 0 评论 -
GetModuleFileName
<br />DWORD WINAPI GetModuleFileName( __in_opt HMODULE hModule, __out LPTSTR lpFilename, __in DWORD nSize);ParametershModule [in, optional] <br />A handle to the loaded module whose path is being requested. If this parameter is NUL原创 2011-03-17 14:00:00 · 618 阅读 · 0 评论 -
RightTrim
RightTrim RightTrim() 功能删除字符串尾部空格。 语法RightTrim ( string ) 参数string:string类型,指定要删除右部空格的字符串返回值String。函数执行成功时返回删除了string字符串右部空格的字符串,发生错误时返回空字符串("")。如果任何参数的值为NULL,RightTrim()函数返回NULL。原创 2011-03-17 14:33:00 · 679 阅读 · 0 评论 -
fgets
char *fgets( char *str, int num, FILE *stream );函数fgets()从给出的文件流中读取[num - 1]个字符并且把它们转储到str(字符串)中. fgets()在到达行末时停止,在这种情况下,str(字符串)将会被一个新行符结束. 如果fgets()达到[num - 1]个字符或者遇到EOF, str(字符串)将会以null结束.fgets()成功时返回str(字符串),失败时返回NULL.原创 2011-03-17 14:45:00 · 566 阅读 · 0 评论 -
errno
<br />errno 记录系统的最后一次错误代码,代码是一个int型的值。原创 2011-03-17 15:02:00 · 519 阅读 · 0 评论 -
struct timeval
<br />struct timeval { long tv_sec; /* seconds */ long tv_usec; /* and microseconds */};<br />结构体:秒和毫秒原创 2011-03-16 14:43:00 · 464 阅读 · 0 评论 -
FD_ZERO
<br />#define FD_ZERO(set) (((fd_set FAR *)(set))->fd_count=0)<br />也就是把 fd_set 类型的set的fd_count设置成为0.原创 2011-03-16 13:55:00 · 912 阅读 · 0 评论 -
FD_ISSET(s, *set)
<br />Nonzero if s is a member of the set. Otherwise, zero.原创 2011-03-16 15:34:00 · 642 阅读 · 0 评论 -
c_str()
<br />const char *c_str(); <br /> <br />这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。 <br /> <br />注:c_str()是string的成员函数。<br /> <br />提醒:c_str函数的返回值是const char*的,不能直接赋值给char*,原创 2011-03-16 16:32:00 · 450 阅读 · 0 评论 -
MFC的初始化过程相关类及其成员。
<br />CWnd类:Create(),CreateEX(),PreCreateWindow().<br />CFrameWnd类:Create(),PreCreateWindow().<br /><br />CWinThread类:InitInstance(),Run().<br />CWinApp类:InitInstance(),Run(),InitApplication(),m_pCurrentWinApp,m_pMainWnd.<br />CxxxWinAPP类:InitInstance().<b原创 2011-03-21 09:22:00 · 863 阅读 · 0 评论 -
shutdown
<br />int shutdown( __in SOCKET s, __in int how);Parameterss [in] <br />A descriptor identifying a socket.how [in] <br />A flag that describes what types of operation will no longer be allowed. Possible values for this flag are listed in the Wins原创 2011-03-18 10:34:00 · 899 阅读 · 0 评论 -
strcpy_s
<br />errno_t strcpy_s( char *strDestination, size_t numberOfElements, const char *strSource );strDestination<br />Location of destination string buffernumberOfElements<br />Size of the destination string buffer.strSource<br />Null-terminat原创 2011-03-21 10:12:00 · 837 阅读 · 0 评论 -
CreateSemaphore
<br />HANDLE WINAPI CreateSemaphore( __in_opt LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, __in LONG lInitialCount, __in LONG lMaximumCount, __in_opt LPCTSTR lpName); <br />ParameterslpSemaphoreAttributes [in, optional] <br />A原创 2011-03-17 18:02:00 · 2125 阅读 · 0 评论 -
difftime, _difftime32, _difftime64
<br />double difftime( time_t timer1, time_t timer0 );double _difftime32( __time32_t timer1, __time32_t timer0 );double _difftime64( __time64_t timer1, __time64_t timer0 );timer1<br />Ending time.timer0<br />Beginning t原创 2011-03-18 14:05:00 · 1002 阅读 · 0 评论 -
GetModuleFileName
<br />DWORD WINAPI GetModuleFileName( __in_opt HMODULE hModule, __out LPTSTR lpFilename, __in DWORD nSize);<br />Retrieves the fully-qualified path for the file that contains the specified module. The module must have been loaded by th原创 2011-03-21 13:29:00 · 666 阅读 · 0 评论 -
GetPrivateProfileString
<br />DWORD WINAPI GetPrivateProfileString( __in LPCTSTR lpAppName, __in LPCTSTR lpKeyName, __in LPCTSTR lpDefault, __out LPTSTR lpReturnedString, __in DWORD nSize, __in LPCTSTR lpFileName);ParameterslpAppName [in] <br />The原创 2011-03-21 11:41:00 · 1607 阅读 · 0 评论 -
GetPrivateProfileInt
<br />UINT WINAPI GetPrivateProfileInt( __in LPCTSTR lpAppName, __in LPCTSTR lpKeyName, __in INT nDefault, __in LPCTSTR lpFileName);ParameterslpAppName [in] <br />The name of the section in the initialization file.lpKeyName [in] <br />The原创 2011-03-21 13:55:00 · 1854 阅读 · 0 评论 -
预处理定义操作符Stringizing Operator (#) ,Charizing Operator (#@), Token-Pasting Operator (##)
<br />引用自:http://pppboy.blog.163.com/blog/static/30203796201011501033268/一、开始<br />前几天看代码,居然出来了“##”这个东东,不知道做什么的,学C++这么长时间了,居然。。。(太不给面子了)<br />本着“先行先赢”的实践学习精神和“为人民服务”的奉献精神,以网上找的很多资料为参考,美美地总结一下,激励自己,启发别人。二、Charizing Operator (#@)1.作用<br />字符化操作符。只能用于有传入参数的宏定原创 2011-03-21 17:21:00 · 807 阅读 · 0 评论 -
.//和..//
<br />见帖子:http://topic.csdn.net/u/20110321/15/c24448bc-af67-436c-bc8e-e247925aba38.html<br /> <br />的3楼。原创 2011-03-22 16:37:00 · 439 阅读 · 0 评论 -
char buf[sizeof "0x7fffffff"]
<br />见帖子:http://topic.csdn.net/u/20110322/09/433ce554-a5ee-4e81-bfdf-16e8952eb01d.html<br /> <br />的12楼和14楼。原创 2011-03-23 17:49:00 · 778 阅读 · 0 评论 -
WaitForMultipleObjects
<br />见博客:http://www.cnblogs.com/andyhere/archive/2008/10/20/1314808.html<br /> <br />DWORD WINAPI WaitForMultipleObjects( __in DWORD nCount, __in const HANDLE *lpHandles, __in BOOL bWaitAll, __in DWORD dwMilliseconds);nCount [in] <br />T原创 2011-03-25 10:15:00 · 540 阅读 · 0 评论 -
ReleaseSemaphore
BOOL WINAPI ReleaseSemaphore( __in HANDLE hSemaphore, __in LONG lReleaseCount, __out_opt LPLONG lpPreviousCount);hSemaphore [in] <br />A handle to the semaphore object. The CreateSemaphore or OpenSemaphore function returns this hand原创 2011-03-24 16:06:00 · 2228 阅读 · 0 评论 -
关于map的使用方法
SErrorCodeMessageContrast arrErrorCodeMessage[]={ {TOA_NOERROR ,"没有错误" }, {TOA_PASSWORD_ERROR ,"用户名密码错误" }, {TOA_NOENOUGHPRI ,"权限不足" }, {TOA_NOINIT ,"没有初始化" }, {TOA_VERSIONNOMATCH ,"版本不匹配" }, {TOA_N原创 2011-03-28 09:39:00 · 476 阅读 · 0 评论 -
sprintf的转换字符
<br />转换字符<br /> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-<br /> <br /> %% 印出百分比符号,不转换。<br /> <br /> %c 整数转成对应的 ASCII 字元。<br /> <br /> %d 整数转成十进位。<br /> <br /> %f 倍精确度数字转成浮点数。<br /> <br /> %o 整数转成八进位。<br /> <br /> %s 整数转成字符串。<br /> <br /> %x 整数转成小写十六进位。<br />原创 2011-03-24 11:15:00 · 1534 阅读 · 0 评论 -
WaitForSingleObject
<br />见帖子:http://topic.csdn.net/u/20110324/18/2ec680cc-13a7-4d4f-809e-6530d47bb7f3.html 6楼和8楼。<br /> <br />及<br /> <br />博客:http://www.cnblogs.com/andyhere/archive/2008/10/20/1314803.html原创 2011-03-25 09:38:00 · 495 阅读 · 0 评论 -
_stdcall和cdecl
<br />在函数调用过程中,会使用栈。_stdcall与cdecl是两种不同德函数调用约定,定义了函数参数入栈的顺序,由调用函数还是被调用函数将参数弹出栈,以及产生函数修饰名的方法。对于参数可变的函数,如printf,使用的是_cdecl调用约定,Win32的API函数都遵循_stdcall调用约定。在VC++开发环境中,默认的编译选项是_cdecl,对于那些需要_stdcall调用约定的函数,在声明时必须显示的加上_stdcall。在Windows程序中,回调函数必须遵循_stdcall调用约定,所以我原创 2011-03-29 09:24:00 · 600 阅读 · 0 评论 -
perror
见链接:http://baike.baidu.com/view/1928446.htm原创 2011-03-30 17:03:00 · 479 阅读 · 0 评论 -
bzero
<br /> 原型:extern void bzero(void *s, int n); 用法:#include <string.h> 功能:置字节字符串s的前n个字节为零。 说明:bzero无返回值。原创 2011-03-30 17:23:00 · 453 阅读 · 0 评论 -
getch
在window平台下从控制台无回显地取一个字符,在linux下是有回显的。 #include //linux 下 #include //window 平台返回值 从键盘上读取到的字符用 法 int getch(void); 在linux平台下时(即包含的是curses.h),还应该在使用函数之前使用initscr(),使用完毕之后调用endwin().否则得话不需输入就会返回。原创 2011-03-31 10:00:00 · 729 阅读 · 0 评论 -
匹配网页编码格式的正则表达式
从网页内容前部匹配"<[\\s]*meta[\\s\\S]*http-equiv[\\s]*=[\\s]*\"[\\s]*content-type[\\s\\S]*?>"从http头中匹配"[\\s\\S]*charset[\\s\\S]*"原创 2011-07-26 11:09:02 · 1830 阅读 · 0 评论 -
获取本地主机的一些信息
void CAnalyzeProxyLog::GetMachineDetail(void){ char name[255]; PHOSTENT pHostInfo; InitSocket () ; char strUserName[255] ; unsigned lo原创 2011-07-27 09:05:37 · 530 阅读 · 0 评论 -
统计一个指定文件夹下的文件数目。
注:这个函数因为后来不写了,没有写全,请谨慎参考。BOOL CHDTLog::HasReachMaxLogFileNum(void){ WIN32_FIND_DATA FindFileData ; HANDLE hFind ; CStdString strFindFi原创 2011-07-29 14:36:59 · 1054 阅读 · 0 评论 -
引用和指针的区别
出处:http://blog.csdn.net/dujiangyan101/article/details/2844138指针和引用的区别(1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象则必须使用转载 2011-08-31 17:12:18 · 461 阅读 · 0 评论 -
typeid详解
在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作对象”的程序能够获取到“这些指针或引用所指对象”的实转载 2011-08-31 17:22:36 · 678 阅读 · 0 评论 -
怎样判断一个文件是否为空
BOOl CHDTLog::IsLogFileEmpty (){ FILE* fp == NULL ; if((fp = fopen (m_filename.c_str(), "rb") == NULL ) { return FALSE ; } fseek (fp, 0, SE原创 2011-07-28 17:15:31 · 1391 阅读 · 0 评论 -
C++的四种强制类型转换
原文:http://www.cnblogs.com/alexqdh/archive/2011/06/09/2075713.html C++的四种强制类型转换,所以C++不是类型安全的。分别为:static_cast , dynamic_cast , const_cast转载 2011-08-03 10:42:27 · 450 阅读 · 0 评论 -
format:自己写的format函数
重载自string类,实现额外的Format功能 void Format(const char* szFmt, ...) { va_list argList; va_start(argList, szFmt); FormatV(szFmt, ar原创 2011-08-04 17:15:51 · 726 阅读 · 0 评论