NoFear

导航

2012年2月7日

摘要: View Code #include <stdio.h>#include <string>#include <Windows.h>#include <Tlhelp32.h>DWORD GetProcessVid(char* lpName){ HANDLE hProcessSnap = NULL; BOOL bRet = FALSE; PROCESSENTRY32 pe32 = {0}; if(!lpName) { return 0; } hProcessSnap = CreateTo... 阅读全文

posted @ 2012-02-07 11:26 Fear_Hao 阅读(190) 评论(0) 推荐(0) 编辑

2012年1月19日

摘要: View Code 但是,所谓使用fopen标志打开文本文件与二进制文件的说法并不准确。正确的说法应该是--以文本方式和二进制方式打开文件。因为我们用两种方式都可以任意的文件。 即使这样,为什么还要区分两种方式呢? 这是因为这两种方式在读写文件时的操作是不一样的。 二进制方式很简单,读文件时,会原封不动的读出文件的全部內容,写的時候,也是把內存缓冲区的內容原封不动的写到文件中。 而文本方式就不一样了,在读文件时,会将换行符号CRLF(0x0D 0x0A)全部转换成单个的0x0A,并且当遇到结束符CTRLZ(0x1A)时,就认为文件已经结束。相应的,写文件时,会将所有的0x0A换成0x0... 阅读全文

posted @ 2012-01-19 15:31 Fear_Hao 阅读(1149) 评论(0) 推荐(0) 编辑

2012年1月10日

摘要: View Code time_t now; time(&now); struct tm* newtime = localtime(&now); printf( "%4d/%02d/%02d %02d:%02d:%02d\n", 1900 + newtime->tm_year, newtime->tm_mon,newtime->tm_mday,newtime->tm_hour,newtime->tm_min, newtime->tm_sec); 阅读全文

posted @ 2012-01-10 09:45 Fear_Hao 阅读(170) 评论(0) 推荐(0) 编辑

2012年1月9日

摘要: C优先级列表PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping operatorPost-incrementPost-decrement(a + b) / 4;array[4] = 2;ptr->age = 34;obj.age = 34;Class::age = 2;for( i = 0; i < 10; i++ ) 阅读全文

posted @ 2012-01-09 22:01 Fear_Hao 阅读(190) 评论(0) 推荐(0) 编辑

2012年1月3日

摘要: View Code 第一种情况char buf[10][5]; //可以解析为有10行字符串 每行5个字节char (*p)[5] = buf; //数组的指针p指向数组[5] 指针++ 跨度为5字节char **tp = (char**)buf; //二级指针tp指向数组[10][5] 指针++ 跨度也就是10X5 = 50个字节//对第一行进行赋值strcpy(buf[0],"abc"); strcpy(p[1],"123");//三者地址一样printf("%s %s \n",buf[0],buf[1]); //成功打印 解析度 阅读全文

posted @ 2012-01-03 23:21 Fear_Hao 阅读(217) 评论(0) 推荐(0) 编辑

2011年12月27日

摘要: View Code //有没有好的字符串匹配方法 把括号里的东西 取出来?#include <stdio.h>#include <stdlib.h>char s[]="uid=1000012(as) gid=1000000(domain users) groups=1000000(domain users),1000015(ABCD/users)";char *p,t[80];int n,r;int main() { p=s; while (1) { r=sscanf(p,"%*[^(](%79[^)])%n",t,&n) 阅读全文

posted @ 2011-12-27 14:32 Fear_Hao 阅读(157) 评论(0) 推荐(0) 编辑

2011年12月23日

摘要: View Code 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放 4、文字常量区—常量字符串就是放在这里的。 程 阅读全文

posted @ 2011-12-23 11:42 Fear_Hao 阅读(498) 评论(0) 推荐(0) 编辑

2011年12月20日

摘要: View Code class Empty { public: Empty(); Empty(const Empty&); ~Empty(); Empty& operator=(const Empty& rhs); Empty* operator&(); const Empty* operator&() const; }; 让我不解的是网上为何流传上述的答案,而且我隐约记着在哪本本权威的书上看到这个说法的,最近偶然翻了一下侯捷翻译的中文简体《Effective c++, 2nd》 这本书终于找到了答案:条款45: 弄清C++在幕后为你所写、所调用的函数一 阅读全文

posted @ 2011-12-20 09:01 Fear_Hao 阅读(233) 评论(0) 推荐(0) 编辑

2011年12月19日

摘要: View Code int thread_num= mThreadnum-1; int i; int count=pwdvect.size(); int per = count / thread_num; int yu = count % thread_num; int x = 0, y = 0; for (i = 0; i != thread_num; i++) { if (i == 0) { x = 0; y = per - 1; } els... 阅读全文

posted @ 2011-12-19 09:31 Fear_Hao 阅读(133) 评论(0) 推荐(0) 编辑

2011年12月12日

摘要: View Code 一、字节序定义字节序,顾名思义字节的顺序,再多说两句就是大于一个字节类型的数据在内存中的存放顺序(一个字节的数据当然就无需谈顺序的问题了)。其实大部分人在实际的开发中都很少会直接和字节序打交道。唯有在跨平台以及网络程序中字节序才是一个应该被考虑的问题。在所有的介绍字节序的文章中都会提到字节序分为两类:Big-Endian和Little-Endian。引用标准的Big-Endian和Little-Endian的定义如下:a) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。b) Big-Endian就是高位字节排放在内存的低地址端,低 阅读全文

posted @ 2011-12-12 14:21 Fear_Hao 阅读(343) 评论(0) 推荐(0) 编辑