摘要: 使用SMTP协议发邮件,经过测试163可以正常使用,其他邮箱可能无法正常使用。开发环境:Windows XP 32 +VS2005代码如下:#include #pragma comment( lib, "ws2_32.lib" )#include #include #include #include using namespace std;#pragma warning( disable : 4996 )#define RECIVER "你的邮箱@163.com"#define ACCOUNT "你的邮箱账号"#define PASS 阅读全文
posted @ 2013-12-27 20:38 谢鸣 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 无数编程书讲述同一个编码原则:短函数比长函数好。我非常认同这个原则:过长的函数浏览困难,不加注释可能难以理解某些流程,而且不利于现代IDE帮助我们浏览代码(无法折叠)。但是到底多少行算短,20行?30行?根据我的经验,长短的标准应当是:无法在一个屏幕内完全显示出来就是长代码。我的机器上,这个数字是50行。 阅读全文
posted @ 2013-12-27 11:02 谢鸣 阅读(234) 评论(1) 推荐(0) 编辑
摘要: 1 LastError不能替代函数返回值。 SetConsoleScreenBufferSize调用失败时,使用GetLastError会返回错误。 但是,当其调用成功时,则不会设置LastError为ERROR_SUCCESS。 即:对于这种函数,应当先行判断函数返回值,一旦错误才使用GetLastError得到错误码;而不能简单的使用GetLastError来判断函数是否成功。2 SetConsoleScreenBufferSize的参数值不符合MSDN的描述。 MSDN上描述:参数应当传入COORD,其X/Y应当至少大于SM_CXMIN/SXCYMIN。 但是实际的情况并非如此... 阅读全文
posted @ 2013-12-24 20:36 谢鸣 阅读(531) 评论(0) 推荐(0) 编辑
摘要: CTRL+ALT+A:可以快速打开命令窗口。其中shell命令非常方便,小技巧如下:shell cmd:打开cmd.exe,并把当前路径设为工程所在路径。shell \:打开工程所在盘符。shell debug:打开工程所在路径的子文件夹,本例打开debug文件夹。shell readme.txt:打开文件。这样我们就可以不用把双手离开键盘,对程序员来说,更快速点。 阅读全文
posted @ 2013-12-21 11:14 谢鸣 阅读(338) 评论(0) 推荐(0) 编辑