编程练习
文章平均质量分 70
cyberhero
这个作者很懒,什么都没留下…
展开
-
VC控件学习:combox
dc.GetTextExtent(i,str); // return the width of the text in the dc void CMyCombBox::RecalcDropWidth(){ int nNumEntry = GetCount(); int nWidth = 0; CString str; CClientDC原创 2008-10-17 19:47:00 · 466 阅读 · 0 评论 -
HTACCESS子域名的设置
RewriteCond %{HTTP_HOST} ^www.sharemoney.com$ [NC]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ /sharemoney/$1 RewriteRule ^$ /sharemoney/原创 2011-05-20 16:05:00 · 768 阅读 · 0 评论 -
关于PHP自定义扩展加载的问题
最近项目需求,需要自己开发一个PHP扩展。在WIN32下载编译成功,可以在加载过程老是出问题。自己疏忽没有看准问题所在,造成这个问题托了好几天:PHP Warning: PHP Startup: ****:Unable to initialize moduleModule compiled with build ID=API20090626,TS VC6PHP compiled with build ID=API20090626,TS,VC9由于扩展我是用VC6编译的,PHP是用VC9编译的原创 2010-10-26 15:39:00 · 3563 阅读 · 0 评论 -
C小笔记
<br />1、数组的形参 <br /> int func(int (&array[10]); <br /> //限制形参大小为10<br />2、常量函数可改变的类成员类型<br /> mutable int a;原创 2010-10-11 11:25:00 · 503 阅读 · 0 评论 -
5种开源协议比较
BSD开源协议<br />BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。<br />但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。不可以用开源代码的作者/机构名转载 2010-08-27 16:53:00 · 471 阅读 · 0 评论 -
PCAP网络编程
前段时间项目用过pcap做网络编程,主要做的是截包,发包等。以前想过用SOCKET_RAW,但是socket比pcap的报文要少一层。好,下面开始记笔记 :pcap_if_t * alldevs;pcap_findalldevs(&alldevs,szErrbuf)原创 2010-08-18 14:57:00 · 1132 阅读 · 0 评论 -
怎么写一个简单的守护进程
本以为在程序名后面加上&让程序在后台运行,可以像守护进程那样,可是事情不会那么简单。因为这样,你的进程和console还是强相关的,退出console时,你的进程也就结束了。当然通过简单的修改代码,可以做到真正守护进程。 int i = 0; int pid = 0; if( pid = fork()) { exit(0); } else if( pid原创 2010-08-04 16:35:00 · 1371 阅读 · 0 评论 -
linux下的sniff
以前写过win32下面简单的sniff, 今天突然试试在linux下抓取http包。发现linux下与win32下有很大的不同点。下面简单总结一下:1.win下必须wsastartup,Linux直接使用2.win下不需要指定对某个网卡进行监控,linux下须指定你想要用到的网站名称3.win下使用ioctlsocket把网卡设置成混杂模式,而linux下则通过ioctl函数设置4.虽然我们收到的包就是RAW形式的,但在win下面是从ip层开始,Linux是从ether层开始的。好了,帖出我实验中的源码:#原创 2010-08-03 14:32:00 · 2979 阅读 · 0 评论 -
Linux 常shell (SUSE)
<br />改变Hostname<br /># sysctl -w kernel.hostname=linuxserv1原创 2010-08-03 16:25:00 · 707 阅读 · 0 评论 -
BM算法
BM算法是Boyer-Moore算法的简称,由Boyer和Moore提出。是一种精确字符串匹配算法(区别于模糊匹配)。BM算法采用从右向左比较的方法,同时应用到了两种启发式规则,即坏字符规则和好后缀规则,来决定向右跳跃的距离。BM算法的基本流程:设文本串T,模式串为P。首先将T与P进行左对齐,然后进行从右向左比较,如下所示:ab转载 2010-03-23 11:22:00 · 675 阅读 · 0 评论 -
linux cut 命令
一个非常有用的命令,主要用来提取各种各样的数据。cut -cchars file如: -c5 提取第5个字符 -c5- 提取第5个字符以后的字符 -c1,5,12 提取多个字符,中间用“,”符号隔开 -c5-14 提取第5个字符到第14个字符间的字符http://gan.cublog.cn[ser转载 2010-02-25 12:14:00 · 2111 阅读 · 0 评论 -
AWK 学习2
1: 在输入内容中,如果分隔不是空格,需要指定如: awk -F":" { print $1 } /etc/passwd -F":" 在AWK脚本中,方法如下: BEGIN { FS=":"}{ print $1 } 2: 在多记录中 BEGIN { FS="/n" 分隔符 RS="" OFS=", " 打印后的分隔符原创 2009-11-10 10:41:00 · 372 阅读 · 0 评论 -
Perl 学习之文件操作
例:创建文件 test.txt内容如下: The Rock|Cheer|Rock BottomTriple H|Boo|PedigreeStone Cold|Cheer|Stone Cold Stunner我们通过下面的代码就能简单的打开文,打印文件: $data_file="test.txt";open(DAT, $data原创 2009-09-25 14:35:00 · 615 阅读 · 0 评论 -
Linux 维护常用命令
1、查看某文件的一部分如果你只想看文件的前 5 行,可以使用 head 命令, 如:head -5 /etc/passwd 如果你想查看文件的后 10 行,可以使用 tail 命令, 如:tail -10 /etc/passwd 查看文件中间一段,可以使用 sed 命令 如:sed –n 5,10p /etc/passwd 这样你就可以只查看文件的第 5 行到第转载 2009-07-29 10:59:00 · 1639 阅读 · 0 评论 -
常用正则表达式
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。匹配中文字符的正则表达式: [/u4e00-/u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^/x00-/xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:/n/s*/r转载 2009-07-29 10:51:00 · 348 阅读 · 0 评论 -
正则表达式全部符号解释
字符 描述/ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,n 匹配字符 "n"。/n 匹配一个换行符。序列 // 匹配 "/" 而 "/(" 则匹配 "("。^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 /n 或 /r 之后的位转载 2009-07-29 10:46:00 · 448 阅读 · 0 评论 -
一段有用的谷歌地图使用代码
Google 地图 JavaScript API 示例: 简单地址解析 <!-- var map = null; var geocoder = null; function initialize() { if (GBrowserIsCompatible()) {原创 2011-06-16 18:19:00 · 739 阅读 · 0 评论