理解继承
摘要:#include <iostream>using namespace std;int inc = 0;string tab(){ string t; t.reserve(inc+1); for(int i = 0 ; i < inc ; ++i) { t.push_back('\t'); } return t; } class base{public: base(void){ inc++; cout<<tab()<<"Base::ctor()"<<endl; cout<<tab()<&l
阅读全文
尝试用C++封装Socket库
摘要:这两天又看了几眼Socket编程,我老是没长性,总是东看看西看看。还老爱挑毛病,钻牛角尖,真是不可救药了。这不,又开始看Socket不顺眼了。当时是看了一个朋友给我的一段socket raw编程的代码,有一段看的我很恶心。如下:if((ErrorCode=WSAStartup(MAKEWORD(2,1),&wsaData))!=0){ printf("WSAStartup failed: %d\n",ErrorCode); return 2; } sockMain=WSASocket(AF_INET,SOCK_RAW,IPPROTO_RAW,NULL,0,WSA_F
阅读全文
多文件编程include规则
摘要:在C++中,习惯声明和定义分开,也就是经常出现一个Class对应两个文件,一个.h,一个.cpp。当我们面对多个类设计的时候,文件include可能需要注意。我对此没太多经验,因此吃了点亏。自己总结一点点经验:1、MyClass.h此文件只放置与MyClass有关的声明,而不放置任何MyClass中可能用到的类的声明,或者其它.h的引入。在MyClass.h的首部添加#pragma once或者在文件首尾的地方添加#ifndef_XXXXXX_H_#define _XXXXXX_H_....#endif用以确保声明只被#include一次。2.MyClass.cpp每个Class.cpp的首部
阅读全文
让我们用中文编程
摘要:让我们用中文编程刚才突然想到C#里面应该支持中文编程,因为他支持源代码的Unicode,于是用中文写了一个小程序,看看能不能编译执行,结果果然如我所料,可以执行,虽然代码实用价值没有,但是很有趣味。我想用这样的小程序教一个中国学生学面向对象,可能门槛会更低一些,而且也有趣的多,毕竟是母语。(稍作修正,直接用运行时类别鉴定来决定"我是谁")程序的源代码是: using System; namespace 中文编程 { public class 生物 { public virtual void 自我介绍() { Console.WriteLine( "我是...咦?我
阅读全文
利用正则表达式将html网页数据变成Web Service
摘要:这次的题目很简单,中国银行有一个查当天汇率的网页(http://www.bank-of-china.com/info/qpindex.shtml),不过是传统的Html格式,而其又没有提供Xml格式或者WebService查询。现在如果希望其他的信息系统能够随时读取其中的数据,那么方便的莫过于中行提供一个WebService接口供大家调用,这也是典型的安全的WebService应用。可惜中行没有做,那么我们能不能自己来做呢?当然可以,只要用程序分析其html网页,那么就可以很容易的读取其中的数据。文本分析,当然要看我们的"Regular Expression"(呵呵,其实这
阅读全文
Regular Expression 正则表达式-4 (C++)
摘要:因为总觉得上回写的C++代码太过蹩脚了,心有不甘。毕竟C++是一个很优秀的语言,并且有着众多出色的模板库,这么简单的一个小程序被我给用成那样,真的是太惭愧了。代码绝对不应该这么臃肿。实际上我有几个概念模糊不清了,所以导致了代码的臃肿,一个是输入输出流的概念模糊了,还有一个是正则表达式应用不熟悉。于是重温了输入输出流,并且详细的阅读了正则表达式的Boost库的说明文档。新写的代码如下,明显比原来的代码优雅了许多:#include <string> #include <boost/regex.hpp> #include <iostream> #include &
阅读全文
Regular Expression 正则表达式-3 (C++)
摘要:最后用C++实现了一把,因为STL中尚未包含Regular Expression,因此我使用了Boost中的Regex++。不过因为不是很熟悉,所以代码很蹩脚,将就看了。呵呵。#include <string> #include <boost/regex.hpp> #include <iostream> #include <fstream> using namespace std; void readFile( const char* filename, string& str ); void writeFile( const char*
阅读全文
Regular Expression 正则表达式-2 (Java)
摘要:又用Java实现了一个,发现Java的正则表达式略有不同,而且也感觉到了Java的读写文件很不雅观。/* * Created on 2004-10-1 */ import java.util.regex.*; import java.io.*; /** * @author dancefire */ public class DataFilter { public static void main(String[] args) { if(args.length < 2) { System.err.println("Please enter 2 filenames(e.g. In.
阅读全文
Regular Expression 正则表达式-1 (C#)
摘要:起因是因为一片帖子,问到了一个问题,帖子是这样的:Originally Posted by 人就是这样我想编一个程序,但学CompSci是很久以前的事情了。想请教请教大家。有两个txt文件,一个叫source.txt(有很多数据), 一个叫target.txt(空白的)我想把source.txt里的一些数据提取出来(稍微修改一下),然后写到target.txt里面。举个例子:sourse.txt里的数据:2oi)4@##( "data:001%abc">dsi-23)(*32##("data:dce%xy3"#(*EOIj2308Eld想提取的数据
阅读全文
VBS.KJ[新欢乐时光] - 源代码分析
摘要:VBS.KJ[新欢乐时光]-源代码分析' Virus:VBS.KJ' Analyze by dancefire (DanceFire@263.net)' 2002/7/10'Dim InWhere,HtmlText,VbsText,DegreeSign,AppleObject,FSO,WsShell,WinPath,SubE,FinalyDiskSub KJ_start()' 初始化变量KJSetDim()' 初始化环境KJCreateMilieu()' 感染本地或者共享上与html所在目录KJLikeIt()' 通过vbs感染O
阅读全文
using和Enviroment.NewLine
摘要:using statement:不是我们在开头位置见的那种类似于#include或者import的东西,而是为了释放非托管资源的,凡是实现了IDisposable的Class都可以这么用,比如文件操作:using( StreamReader sr = new StreamReader("sample.txt") ){strContent = sr.ReadToEnd();}这个等同于:StreamReader sr = new StreamReader("sample.txt");try{ strContent = sr.ReadToEnd();}cat
阅读全文
替换运行中的文件
摘要:by dancefire: dancefire at 263 dot net2004/06/17这是今天瞎琢磨的一点收获。一、引入凡事总喜欢刨根问底,一直问自己为什么,问到实在没什么可问了为止,当然也有问到自己是在懒得再问了为止的时候。因为一个软件的自动更新老出问题,有时候出现无法自动更新,分析后发现原来是在替换正在运行的程序时出了问题。无知的我就开始对替换正在运行中的程序的方法进行分析。虽大言不惭自称深入浅出,其实只不过对一个问题想深入进去,分析到自己因技术不佳无法继续分析的时候,浅浅的出来而已。但是仍旧希望这篇文章能够对和我一样思考这个问题的人有一点点帮助。言归正传,首先从xfocus的b
阅读全文
我的Blog开张了
摘要:以这种大俗贴作为开张第一帖,不算为过吧。我会逐步的把我原来的一些垃圾文章移到这里来,也会考虑写一些文章,但是我还是我,因此,也许几个月不会理会这里,也许一天之内发好几篇垃圾,就当这里是垃圾回收站好了。呵呵。
阅读全文