<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Ingvar]]></title><description><![CDATA[爱软件爱开发]]></description><link>https://blog.csdn.net/ingvar08</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; ingvar08]]></copyright><item><title><![CDATA[MFC选择目录]]></title><link>https://blog.csdn.net/ingvar08/article/details/82021875</link><guid>https://blog.csdn.net/ingvar08/article/details/82021875</guid><author>ingvar08</author><pubDate>Fri, 24 Aug 2018 17:08:04 +0800</pubDate><description><![CDATA[下面的代码封装了MFC选择目录的函数，适用于高低版本的Windows系统和高低版本的Visual Studio.

少啰嗦，先看东西。

XP系统或低版本VS编译出来的结果：



XP以上的系统并且高版本VS编译出来的结果：



同时支持一次选择多个文件夹。代码的使用也超简单，调用一个函数即可。

Talk is cheap. Show me the code.


//SelectPathD...]]></description><category></category></item><item><title><![CDATA[MacBook启用三指拖移]]></title><link>https://blog.csdn.net/ingvar08/article/details/79562985</link><guid>https://blog.csdn.net/ingvar08/article/details/79562985</guid><author>ingvar08</author><pubDate>Thu, 15 Mar 2018 09:07:09 +0800</pubDate><description><![CDATA[自从知道了还有三指拖移这个东西，我就再也不会用：一个手指头按住触控板左下角，一个手指头移动来选择文本或拖动窗口了。真的是太棒了。

开启方式位于系统偏好设置的辅助功能里面，可以在搜索框内直接搜三指拖移。 
 


再次致敬苹果的软件工程师，简直就是逆天的用户体验。

参考：百度经验...]]></description><category></category></item><item><title><![CDATA[在命令行运行 VSCode（macOS）]]></title><link>https://blog.csdn.net/ingvar08/article/details/79419121</link><guid>https://blog.csdn.net/ingvar08/article/details/79419121</guid><author>ingvar08</author><pubDate>Fri, 02 Mar 2018 08:45:18 +0800</pubDate><description><![CDATA[在命令行运行 VSCode（macOS系统）

Windows 版 VSCode 的安装脚本带着一个是否把 Code 加入 PATH 的选项，而 macOS版却没有。有的人想到给 VSCode 做一个符号链接加入 PATH 中，但实际上这样做会有问题（配置项加载错误）。其实 VSCode 自身可以创建 code 命令。


打开 vscode
通过快捷键 shift + command + p 运...]]></description><category></category></item><item><title><![CDATA[MFC选择文件夹对话框]]></title><link>https://blog.csdn.net/ingvar08/article/details/79287358</link><guid>https://blog.csdn.net/ingvar08/article/details/79287358</guid><author>ingvar08</author><pubDate>Thu, 08 Feb 2018 11:02:22 +0800</pubDate><description><![CDATA[低版本MFC没有提供选择文件夹的类，到了高版本并且是Vista系统以上才有了选择文件夹对话框的专用的类：CFolderPickerDialog。下面的程序对这个问题做了简单的封装，可以直接调用得到选择的文件夹或文件夹列表。先看效果，再看代码。

低版本的选择文件夹对话框： 


高版本的选择文件夹对话框： 


代码：



//SelectPath.h
#pragma once
#include...]]></description><category></category></item><item><title><![CDATA[一个简单可用的C++日志类]]></title><link>https://blog.csdn.net/ingvar08/article/details/79286540</link><guid>https://blog.csdn.net/ingvar08/article/details/79286540</guid><author>ingvar08</author><pubDate>Thu, 08 Feb 2018 10:07:47 +0800</pubDate><description><![CDATA[少废话，直接看东西。



//LogWriter.h
#pragma once
#include &amp;lt;stdio.h&amp;gt;

#define LOG_BUFFER_SIZE 1024
class LogWriter
{
public:
    LogWriter(const char * filepath);
    ~LogWriter(void);
    bool write(con...]]></description><category></category></item><item><title><![CDATA[关于shared_ptr与weak_ptr的使用]]></title><link>https://blog.csdn.net/ingvar08/article/details/79200424</link><guid>https://blog.csdn.net/ingvar08/article/details/79200424</guid><author>ingvar08</author><pubDate>Mon, 29 Jan 2018 22:00:27 +0800</pubDate><description><![CDATA[shared_ptr是带引用计数的智能指针，可以说大部分的情形选择用shared_ptr不会出问题。那么weak_ptr是什么，应该怎么用呢？ 
weak_ptr也是智能指针，但是比较弱，感觉没什么用。其实它的出现是伴随shared_ptr而来，尤其是解决了一个引用计数导致的问题：在存在循环引用的时候会出现内存泄漏。 
关于循环引用，看下面这个小例子就足够了：

#include 
#includ]]></description><category></category></item><item><title><![CDATA[欢迎使用CSDN-markdown编辑器]]></title><link>https://blog.csdn.net/ingvar08/article/details/53128465</link><guid>https://blog.csdn.net/ingvar08/article/details/53128465</guid><author>ingvar08</author><pubDate>Fri, 11 Nov 2016 14:27:08 +0800</pubDate><description><![CDATA[欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来，用它写博客，将会带来全新的体验哦：
Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键
快捷键
加粗    Ctrl + B 
斜体    Ctrl + I 
引用    Ctrl]]></description><category></category></item><item><title><![CDATA[利用VS2010搭建命令行编译环境]]></title><link>https://blog.csdn.net/ingvar08/article/details/7596145</link><guid>https://blog.csdn.net/ingvar08/article/details/7596145</guid><author>ingvar08</author><pubDate>Wed, 23 May 2012 21:34:47 +0800</pubDate><description><![CDATA[有这个想法的人通常是爱折腾的人。
首先，VS2010（包括05,08等）的IDE里面可以找到一个命令行终端，这个终端自动把VC开发环境搭建好了，而且可以自由选择32或64。
其次，很少有人用VC的命令行工具来做开发。当然为了简单任务或者体验命令行参数，也有不少人折腾命令行开发环境。
最后，为了方便某些编辑器的一键编译功能。比如Sublime text里的编译程序功能。见站内：Sublime]]></description><category></category></item><item><title><![CDATA[测试处理器是大端序还是小端序(Big Endian or Little Endian)]]></title><link>https://blog.csdn.net/ingvar08/article/details/7438756</link><guid>https://blog.csdn.net/ingvar08/article/details/7438756</guid><author>ingvar08</author><pubDate>Sun, 08 Apr 2012 21:17:22 +0800</pubDate><description><![CDATA[/* How can I determine whether a machine's byte order is big-endian or little-endian? */
#include 
int main(int argc, char const *argv[])
{
	/*method 1*/
	int x = 1;
	if(*(char *)&x == 1)
		printf("li]]></description><category></category></item><item><title><![CDATA[Sublime Text2搭建C/C++开发环境]]></title><link>https://blog.csdn.net/ingvar08/article/details/7435176</link><guid>https://blog.csdn.net/ingvar08/article/details/7435176</guid><author>ingvar08</author><pubDate>Sat, 07 Apr 2012 15:01:22 +0800</pubDate><description><![CDATA[[2012.11.12更新，添加了编译运行命令]
[PS: 这篇文章主要针对windows平台，但是对其他平台也有参考作用]


  如果你的编译环境是GCC并且已经可以在命令行里用gcc编译源文件，那么Sublime Text不要任何配置就可以对单个源文件进行编译和运行，下面的东西可以不看了。
 如果没有GCC或者就是希望用Visual Studio里的编译器CL进行编译运行，那么你需]]></description><category></category></item><item><title><![CDATA[按行逆向复制一个文件]]></title><link>https://blog.csdn.net/ingvar08/article/details/6892051</link><guid>https://blog.csdn.net/ingvar08/article/details/6892051</guid><author>ingvar08</author><pubDate>Thu, 20 Oct 2011 21:39:44 +0800</pubDate><description><![CDATA[这是一个面试题，要求把类似下面的一个文件(a.txt)的行逆向复制到另一个文件(anew.txt)。如下,
a.txt:


------begin------
a
b
c
d
e
f
------end------

anew.txt------end------
f
e
d
c
b
a
------begin------

下面是我写的程序，利用了递归算法。算法描述在代码后面
]]></description><category></category></item><item><title><![CDATA[openSUSE: could not find 'kfmclient executable' 解决办法]]></title><link>https://blog.csdn.net/ingvar08/article/details/6867845</link><guid>https://blog.csdn.net/ingvar08/article/details/6867845</guid><author>ingvar08</author><pubDate>Wed, 12 Oct 2011 21:06:07 +0800</pubDate><description><![CDATA[openSUSE: could not find 'kfmclient executable' 解决办法 ：
重新安装 konqueror]]></description><category></category></item><item><title><![CDATA[ftp命令详解]]></title><link>https://blog.csdn.net/ingvar08/article/details/6843600</link><guid>https://blog.csdn.net/ingvar08/article/details/6843600</guid><author>ingvar08</author><pubDate>Tue, 04 Oct 2011 11:03:14 +0800</pubDate><description><![CDATA[FTP命令是Internet用户使用最频繁的命令之一，不论是在DOS还是UNIX操作系统下使用FTP，都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令，可以大大方便使用者，并收到事半功倍之效。

　　FTP的命令行格式为：ftp -v -d -i -n -g [主]]></description><category></category></item><item><title><![CDATA[openSUSE上安装文泉驿(wqy)中文字体]]></title><link>https://blog.csdn.net/ingvar08/article/details/6838367</link><guid>https://blog.csdn.net/ingvar08/article/details/6838367</guid><author>ingvar08</author><pubDate>Fri, 30 Sep 2011 20:47:29 +0800</pubDate><description><![CDATA[近来使用openSUSE系统感觉界面很不舒服，原来openSUSE系统默认的字体是英文字体（也就是Son...），
以前从来没意识到中文字体与英文字体的差别，用了英文字体一段时间以后才发现还是中文字体看着舒服。毕竟习惯了这种感觉。
下面说一下在openSUSE上安装中文字体：]]></description><category></category></item><item><title><![CDATA[修改openSUSE与Windows多系统启动顺序]]></title><link>https://blog.csdn.net/ingvar08/article/details/6817255</link><guid>https://blog.csdn.net/ingvar08/article/details/6817255</guid><author>ingvar08</author><pubDate>Sat, 24 Sep 2011 13:47:45 +0800</pubDate><description><![CDATA[由于先安装了Windows后安装openSUSE，结果启动项首选项由Windows变成了openSUSE，这一点很出乎意料。
那么怎么恢复回来把Windows作为默认启动项呢？
其实，在openSUSE系统里有一个Boot Loader的设置项可以更改启动顺序。
可以通过图形界面设置，也可以直接编辑配置文件。
（1）图形界面方式设置
系统菜单-->Applications-->Syste]]></description><category></category></item><item><title><![CDATA[怀旧：Turbo C 英文原版 +免安装版 下载]]></title><link>https://blog.csdn.net/ingvar08/article/details/6815888</link><guid>https://blog.csdn.net/ingvar08/article/details/6815888</guid><author>ingvar08</author><pubDate>Sat, 24 Sep 2011 08:54:36 +0800</pubDate><description><![CDATA[(一) Turbo C 的历史

Turbo C 是美国Borland 公司的产品,Borland公司是一家专门从事软件开发、研制的大公司。该公司相继推出了一套 Turbo系列软件, 如Turbo BASIC, Turbo Pascal, Turbo Prolog, 这些软件]]></description><category></category></item><item><title><![CDATA[安装efence库检测程序的内存错误]]></title><link>https://blog.csdn.net/ingvar08/article/details/6776411</link><guid>https://blog.csdn.net/ingvar08/article/details/6776411</guid><author>ingvar08</author><pubDate>Wed, 14 Sep 2011 23:09:25 +0800</pubDate><description><![CDATA[efence库专门用于检测程序的内存错误，比如数组越界、内存泄露；本文简单介绍如何编译安装和使用efence库。]]></description><category></category></item><item><title><![CDATA[用perror或strerror函数打印程序错误信息]]></title><link>https://blog.csdn.net/ingvar08/article/details/6775996</link><guid>https://blog.csdn.net/ingvar08/article/details/6775996</guid><author>ingvar08</author><pubDate>Wed, 14 Sep 2011 21:16:36 +0800</pubDate><description><![CDATA[perror() 和 strerror() 以一种直观的方式打印出错误信息，对于调试程序和编写优秀的程序非常有用。
下面是perror() 与 strerror() 的使用范例及区别：
perror()原型：
#include 
void perror(const char *s);
其中，perror()的参数s 是用户提供的字符串。当调用perror()时，它输出这个字符串，后面跟着]]></description><category></category></item><item><title><![CDATA[Vim的分屏功能]]></title><link>https://blog.csdn.net/ingvar08/article/details/6767168</link><guid>https://blog.csdn.net/ingvar08/article/details/6767168</guid><author>ingvar08</author><pubDate>Sun, 11 Sep 2011 11:46:28 +0800</pubDate><description><![CDATA[分屏启动Vim

使用大写的O参数来垂直分屏。
vim -On file1 file2 ...
使用小写的o参数来水平分屏。
vim -on file1 file2 ...

注释: n是数字，表示分成几个屏。
关闭分屏 

关闭当前窗口。
Ctrl+W c]]></description><category></category></item><item><title><![CDATA[简明 Vim 练级攻略]]></title><link>https://blog.csdn.net/ingvar08/article/details/6765794</link><guid>https://blog.csdn.net/ingvar08/article/details/6765794</guid><author>ingvar08</author><pubDate>Sat, 10 Sep 2011 13:43:28 +0800</pubDate><description><![CDATA[vim的学习曲线相当的大（参看各种文本编辑器的学习曲线），所以，如果你一开始看到的是一大堆VIM的命令分类，你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn
 Vim Progressively》，我觉得这是给新手最好的VIM的升级教程了，没有列举所有的命令，只是列]]></description><category></category></item></channel></rss>