2012年3月31日
摘要: 用惯了Python,现在写C++的代码感觉有点不太顺畅。这不,今天就和这小小的raw_input较上劲了……用过Python的朋友知道,Python中有个raw_input,可以如下使用:printraw_input("Inputa number : ")一个函数内既有输入提示,又有返回值,用起来着实方便。可现在的问题是在C++中,我也想这么干,怎么办?其实,写一个函数也可以轻松实现的,比如:int raw_input(const char* tips){ cout<<tips; int a; cin>>a; return a;}这个是实... 阅读全文
posted @ 2012-03-31 22:17 Mike_Zhang 阅读(2975) 评论(0) 推荐(2)
  2012年3月30日
摘要: Windows下访问Sqlserver很方便,特别是用ADO,即便是用C++写代码,也没怎么感觉麻烦,如果是用C#的话,写起来估计更是飞一般的感觉,可现在我要处理的问题是在Linux下访问SqlServer,执行sql语句和存储过程…… 好,不废话了,下面开工。一、包含头文件#include<sybfront.h>//freetds#include<sybdb.h>//freetds二、执行sql语句或存储过程1、查询类1.1 核心代码:bool queryCmd(DBPROCESS *dbprocess,const char* strSql){ dbcmd(dbpro 阅读全文
posted @ 2012-03-30 18:03 Mike_Zhang 阅读(3706) 评论(0) 推荐(0)
  2012年3月29日
摘要: 刚刚发布go 1 ,迫不及待的进行更新,可问题出来了:1、8g的命令不能用了我的平台是windows,用notepad++配置了开发环境(http://www.cnblogs.com/MikeZhang/archive/2012/02/10/nppRunGo.html)设置“8g -o test1.8 test1.go & 8l -o test1.exe test1.8 & test1.exe”的快捷键为Ctrl+F6但当执行时候,提示如下:‘8g.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。查了查资料,应该这样做:go run file.go或者go 阅读全文
posted @ 2012-03-29 23:37 Mike_Zhang 阅读(3147) 评论(9) 推荐(2)
  2012年3月24日
摘要: 经常碰到字符串分割的问题,这里总结下,也方便我以后使用。 一、用strtok函数进行字符串分割 原型: char *strtok(char *str, const char *delim); 功能:分解字符串为一组字符串。 参数说明:str为要分解的字符串,delim为分隔符字符串。 返回值:从st 阅读全文
posted @ 2012-03-24 15:25 Mike_Zhang 阅读(134753) 评论(3) 推荐(17)
  2012年3月20日
摘要: 今天有个网友问我组合数生成算法的问题,这个写的早,只给他回复了原理。刚好这段时间玩“15选5”,知道那个是随机的,概率问题(中就是中了,没中就是没中),没啥好分析的,可还是忍不住想计算下…… 好,不废话了,下面开工。一、原理借助二进制计数的机制来进行,比如字符串“123”中选出两个字符,如下计... 阅读全文
posted @ 2012-03-20 17:25 Mike_Zhang 阅读(6872) 评论(0) 推荐(0)
  2012年3月15日
摘要: asterisk有一个很好的东东,就是Event,会主动通知客户端服务器发生了什么……不过前提是你得先连上服务器。好,不废话了,下面开工。首先声明下环境:CentOS 6一、安装并配置asterisk1、下载asteriskwget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.7.1.tar.gz2、解压并安装tar zxvf asterisk-1.8.7.1.tar.gzcd asterisk-1.8.7.1./configure && make && m 阅读全文
posted @ 2012-03-15 16:40 Mike_Zhang 阅读(3004) 评论(0) 推荐(0)
  2012年3月13日
摘要: 这段时间用到了虚拟机,为了上网我选择了NAT模式,但那个IP是固定的,而且外面不能访问,可我想ssh进去,无奈之下想其它方法了:1、hostonly模式,通过共享上网;2、NAT下端口转发;方法1是我用VMware时经常用的,VirtualBox下没成功过,pass掉;方法2没试过,我之前的一篇文章(http://www.cnblogs.com/MikeZhang/archive/2012/03/07/socketRedirect.html)提到过端口重定向的问题,应该可以;再不行就换VMWare……我选择了方法2,步骤如下:1、设置端口转发:2、putty测试:执行效果:3、终端下ssh测试 阅读全文
posted @ 2012-03-13 10:38 Mike_Zhang 阅读(1863) 评论(4) 推荐(1)
摘要: 在我之前的文章(http://www.cnblogs.com/MikeZhang/archive/2012/02/11/httpFileSharePythonAndGo.html)中提到过用go语言实现http共享,这个程序我一直在用,感觉还是python的方式更加灵活:如不指定端口,则默认开启8000……可python不给力,慢不说,还只允许一个客户端,果断决定自己写一个!好了,不多废话了,代码如下:/*File : httpShare.goAuthor : MikeE-Mail : Mike_Zhang@live.com*/package mainimport ( ... 阅读全文
posted @ 2012-03-13 00:20 Mike_Zhang 阅读(3093) 评论(3) 推荐(2)
  2012年3月7日
摘要: 本文情景:在端口12345开启文件共享,此时我也想通过8000端口同时访问此共享。 根据我之前的一篇文章(http://www.cnblogs.com/MikeZhang/archive/2012/02/11/httpFileSharePythonAndGo.html), 可以很轻松的在端口1234 阅读全文
posted @ 2012-03-07 23:46 Mike_Zhang 阅读(4712) 评论(1) 推荐(1)
  2012年2月29日
摘要: 我的CentOS6是用LiveCD安装的,默认的东西很少,除了perl、python、lua和bash外其它的什么都没,甚至联make、gcc都要自己安装的。要开启samba需要做些工作,具体步骤如下:1、首选安装samba,命令如下:yuminstall samba2、修改配置文件文件 :/etc/samba/smb.conf添加一行或找到security这行并将#注释符号去掉改成security =share 共享模式添加共享文件夹[share] comment= share path = /var/spool/samba browseable = yes guest ok= yes wr 阅读全文
posted @ 2012-02-29 10:20 Mike_Zhang 阅读(1892) 评论(1) 推荐(0)
  2012年2月19日
摘要: go语言自带的有csv文件读取模块,看起来好像不错,今天玩玩,也算是系统学习go语言的一部分……^_^一、写csv文件函数:funcNewWriter(w io.Writer) *Writer func(w *Writer) Flush() func(w *Writer) Write(record []string) (err os.Error)func(w *Writer) WriteAll(records [][]string) (err os.Error)具体见官网:http://golang.org/pkg/csv/#NewWriter其实写csv文件大可不必用这些函数,直接按照规则写 阅读全文
posted @ 2012-02-19 22:43 Mike_Zhang 阅读(12958) 评论(0) 推荐(0)
  2012年2月18日
摘要: 常用的消息摘要算法有MD5和SHA,这些算法在python和go的库中都有,需要时候调用下就OK了,这里总结下python和go的实现。一、python消息摘要示例代码如下:#! /usr/bin/python''' File : testHash.py Author : Mike E-Mail : Mike_Zhang@live.com'''import hashlibsrc = raw_input("Input string : ")funcNameList = ["MD5","SHA1&qu 阅读全文
posted @ 2012-02-18 01:31 Mike_Zhang 阅读(2803) 评论(0) 推荐(1)
  2012年2月17日
摘要: 写程序离不了文件操作,这里总结下go语言文件操作。一、建立与打开建立文件函数:func Create(name string) (file *File, err Error) func NewFile(fd int, name string) *File 具体见官网:http://golang.org/pkg/os/#Create 打开文件函数:func Open(name string) (file *File, err Error) func OpenFile(name string, flag int, perm uint32) (file *File, err Error) 具体见官网 阅读全文
posted @ 2012-02-17 12:56 Mike_Zhang 阅读(15630) 评论(0) 推荐(0)
  2012年2月14日
摘要: 工作中用到了C/S模型,所做的也无非是给服务器发数据,但开发阶段会遇到程序自身的回环测试,需要用到简单的服务端以便验证数据发送的正确性。写软件用C++,跑测试用python,这段时间也刚好看go语言,所以都要有demo。以下三组程序实现的功能相同,这里一起做下总结。一、C++实现 Boost.Asio是一个跨平台的C++库,它用现代C++方法为网络和底层I/O程序提供了一致的异步I/O模型。 为了跨平台,我用boost库实现,具体如下。服务端代码: 1 /* 2 File : svr.cpp 3 Author : Mike 4 E-Mail ... 阅读全文
posted @ 2012-02-14 14:06 Mike_Zhang 阅读(2770) 评论(0) 推荐(0)
摘要: 在c语言中可以用system函数调用系统命令并得到输出,通过输出重定向也可以将程序执行的输出保存到文件以供使用,但用起来不是很方便。我这里介绍下用python和go语言的实现方式,可以将其它程序的输出直接保存成变量供程序使用。 下面的示例用的是ls命名,需要安装MinGW,并将“C:\MinGW\msys\1.0\bin”加入环境变量。一、用python调用其它程序,并得到输出示例代码:import osvar = os.popen('ls -l').read()print var运行效果(以我机器为例):二、用go语言调用其它程序,并得到输出go代码:package main 阅读全文
posted @ 2012-02-14 11:53 Mike_Zhang 阅读(3489) 评论(3) 推荐(0)