<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lifeng5055的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lifeng5055</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lifeng5055]]></copyright><item><title><![CDATA[Windows定义的关于字符串的几种类型]]></title><link>https://blog.youkuaiyun.com/lifeng5055/article/details/8123175</link><guid>https://blog.youkuaiyun.com/lifeng5055/article/details/8123175</guid><author>lifeng5055</author><pubDate>Mon, 29 Oct 2012 10:38:12 +0800</pubDate><description><![CDATA[经常被这几种类型搞混淆：PSTR, PWSTR, PTSTR, PCSTR, PCWSTR, PCTSTR, LPSTR, LPWSTR, LPTSTR, LPCSTR, LPCWSTR, LPCTSTR


不过只要明白了每个字母代表什么意思，就很容易区分这种类型了。首先解释一下类型名中几个大写字母所代表的含义：

N：代表near，在16位系统中代表16位的段内地址

L：代表l]]></description><category></category></item><item><title><![CDATA[boost的filesystem库有待改进]]></title><link>https://blog.youkuaiyun.com/lifeng5055/article/details/8123090</link><guid>https://blog.youkuaiyun.com/lifeng5055/article/details/8123090</guid><author>lifeng5055</author><pubDate>Mon, 29 Oct 2012 10:15:04 +0800</pubDate><description><![CDATA[之前有些迷上boost库，觉得各种操作都很方便，封装的都很不错。直到最近使用boost的filesystem库出现问题，才发现使用Windows的API才是王道。


具体问题是这样，我使用boost::filesystem::copy_file把一个文件拷贝到另一个文件夹下，在自己的机器上工作正常。但是总收到别人报文件无法显示的问题，经调试才发现原来copy_file抛出一个异常名为oth]]></description><category></category></item><item><title><![CDATA[Volatile介绍]]></title><link>https://blog.youkuaiyun.com/lifeng5055/article/details/8081435</link><guid>https://blog.youkuaiyun.com/lifeng5055/article/details/8081435</guid><author>lifeng5055</author><pubDate>Wed, 17 Oct 2012 14:47:32 +0800</pubDate><description><![CDATA[volatile类似于大家所熟知的const也是一个类型修饰符。volatile是给编译器的指示来说明对它所修饰的对象不应该执行优化。volatile的作用就是用来进行多线程编程。在单线程中那就是只能起到限制编译器优化的作用。所以单线程的童鞋们就不用浪费精力看下面的了。
没有VOLATILE的结果
      如果没有volatile，你将无法在多线程中并行使用到基本变量。下面举一个我开发项目]]></description><category></category></item><item><title><![CDATA[几种编码的对比：ASCII，Unicode，ANSI，UTF－8]]></title><link>https://blog.youkuaiyun.com/lifeng5055/article/details/7998112</link><guid>https://blog.youkuaiyun.com/lifeng5055/article/details/7998112</guid><author>lifeng5055</author><pubDate>Wed, 19 Sep 2012 22:34:51 +0800</pubDate><description><![CDATA[ASCII：用单字节表示，共有128个ASCII字符，最高位总为0


Unicode：用双字节表示，可表示65000个字符，以Unicode编码的文件包含一个文件头“FFFE”，彼此来表示该文件的编码格式为Unicode


当用Unicode编码来表示ASCII码字符时，高八位为00, 所以如果一个Unicode字符的高八位为00时，将其低八位按照ASCII编码解码；反之，则按非A]]></description><category></category></item><item><title><![CDATA[window的INI文件操作]]></title><link>https://blog.youkuaiyun.com/lifeng5055/article/details/7997730</link><guid>https://blog.youkuaiyun.com/lifeng5055/article/details/7997730</guid><author>lifeng5055</author><pubDate>Wed, 19 Sep 2012 21:08:23 +0800</pubDate><description><![CDATA[今天编程需要从ini文件中读取一个key所对应的value。作为菜鸟的我，并不知道windows提供了读写INI文件的API，所以采用最原始的文件流的方式对文件进行读写，却发现有时候读出来的是乱码，这种方式有时可以工作，应该是文件的编码问题导致的。
后来发现Windows自带的API处理INI文件非常的简单方便：
读：GetPrivateProfileString("SectionName",]]></description><category></category></item><item><title><![CDATA[boost::variant]]></title><link>https://blog.youkuaiyun.com/lifeng5055/article/details/7976131</link><guid>https://blog.youkuaiyun.com/lifeng5055/article/details/7976131</guid><author>lifeng5055</author><pubDate>Fri, 14 Sep 2012 11:05:55 +0800</pubDate><description><![CDATA[boost::variant 可以用于替代了C++中的union来对不同类型的数据进行相同的处理。 
不同于union的是，它的使用更加方便灵活。


一个简单的例子：
boost::variant var;
var = 123;
int res = boost::get(var);


var="hello";
string var = boost::get(var);]]></description><category></category></item></channel></rss>