<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[程序员——驻酒客栈]]></title><description><![CDATA[让code变得更有诗意]]></description><link>https://blog.youkuaiyun.com/drlmemory</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; drlmemory]]></copyright><item><title><![CDATA[一道面试题引发的关于c语言中文件操作的总结]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/77948803</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/77948803</guid><author>drlmemory</author><pubDate>Tue, 12 Sep 2017 19:37:49 +0800</pubDate><description><![CDATA[一、引言
最近在准备面试的过程中，找到了一道难度不是很大的面试题，以此来进行文件操作相关函数以及用法的总结，面试题是这么讲的：
请编写程序：从键盘输入一个字符串，将其中的小写字母全部转化为大写在吗，输出到磁盘文件“upper.txt"中保存。输入的字符串以”！“结束。然后，再将文件upper.txt中的内容读出显示在屏幕上。
初看此题觉得不是很难，写代码的时候发现自己久疏战阵，很多文件操作的]]></description><category></category></item><item><title><![CDATA[二维数组和指针之间的关系详解]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/77914883</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/77914883</guid><author>drlmemory</author><pubDate>Sat, 09 Sep 2017 14:12:40 +0800</pubDate><description><![CDATA[一、引言
说起二维数组可能首先想到的是各种嵌套的for循环，二维数组的初始化，二维数组的赋值，二维数组的输出等各种问题，当然了，数组的问题永远离不开指针，而二维数组所能联系到的就是二维指针了，此文则是着重讲解二维数组与二维指针之间的关系。
二、初始化与赋值

#define M 4
#define N 5
int arr[M][N]  = {{2,3,4,5},{3,5,},{6,},{9]]></description><category></category></item><item><title><![CDATA[Linux下从原文件到可执行文件的过程]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/77872983</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/77872983</guid><author>drlmemory</author><pubDate>Wed, 06 Sep 2017 22:22:22 +0800</pubDate><description><![CDATA[一、引言

对于c和C++而言，编译器从源文件生成可执行文件需要一个过程，那么从源文件(.h,.cpp,.c文件)到一个二进制的可执行文件这个过程中发生了什么呢，所以需要再次做一个总结：

二、流程图






可以看到整个从源文件到生成可执行文件的过程中，总共有四个过程，

这四个过程可以先总结为：

1、源代码通过预编译阶段，生成一个预处理文件.i文件；

]]></description><category></category></item><item><title><![CDATA[C++设计模式系列（一）：单例模式]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/77826462</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/77826462</guid><author>drlmemory</author><pubDate>Sun, 03 Sep 2017 22:08:27 +0800</pubDate><description><![CDATA[在GOF的《设计模式 可复用面向对象软件的基础》中一共讲解了23种设计模式，我们在各种代码和框架中或多或少的发现他们的影子，为了更好的掌握这些设计模式，我们将以C++代码的形式在博文中做一个总结。

一、单例模式

1.引言

单例模式是在各种设计模式中最基础的一个设计模式，因为只涉及到一个类，所以也是最简单的一个设计模式，单例模式的主要意图和动机是什么呢？我们可以看下《设计模式 可复]]></description><category></category></item><item><title><![CDATA[c/c++内存对齐总结]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/77720497</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/77720497</guid><author>drlmemory</author><pubDate>Wed, 30 Aug 2017 18:23:02 +0800</pubDate><description><![CDATA[1、引言
对于结构体来经常会涉及到内存对齐问题，如下面代码所示：
#include 


struct Test
{
short x1;   
char x2;    
float x3;   
char x4;     
};


int main(void)
{
struct Test t;

//printf("0x%p\n", &t.x1);
//pr]]></description><category></category></item><item><title><![CDATA[数组中只出现一次的问题（异或问题）]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/77073450</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/77073450</guid><author>drlmemory</author><pubDate>Thu, 10 Aug 2017 20:53:17 +0800</pubDate><description><![CDATA[具体描述： 
在一个整型数组中，数组都是成对出现，只有两个元素为单独的元素，求出这两个元素的值。
思路： 
1、此处为异或预算符的经典问题，两个相同值的异或运算后的值为0； 
2、首先将数组的所有元素做异或运算，最后得到的是两个单独元素异或后的值  （因为相同元素异或后的值均变成0）； 
3、两个单独元素肯定会有某一位或者几位是不同的，找出要么为0，要么为1，我们可以根据此位为0或者1，将数组元素分]]></description><category></category></item><item><title><![CDATA[C或C++语言交换变量值的方式]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/76964191</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/76964191</guid><author>drlmemory</author><pubDate>Wed, 09 Aug 2017 10:02:38 +0800</pubDate><description><![CDATA[C或者C++经常会有交换变量的方式，以下为交换变量的几种具体形式的实现#include <iostream>int main(void)
{
    int a = 3, b = 4;    //借助第三方临时变量
    int temp;
    temp = a;
    a = b;
    b = temp;    std::cout << "a=" << a << ",b=" << b]]></description><category></category></item><item><title><![CDATA[windows下编写Dll动态库及调用]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/71512405</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/71512405</guid><author>drlmemory</author><pubDate>Tue, 09 May 2017 22:06:39 +0800</pubDate><description><![CDATA[概述 
DLL：Dynamic Link Library，即动态链接库，这种库包含了可由多个程序同时使用的代码和数据。 
它是microsoft在windows操作系统中实现共享函数库概念的一种实现方式。
方法 
1、新建工程：打开VS2015，选择新建项目，依次点击：VisualC++ -> Win32 -> Win32项目（填写名称，路径） -> 确定 –> 下一步（应用程序类型选择Dll，勾选]]></description><category></category></item><item><title><![CDATA[C语言大小端问题剖析]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/53837617</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/53837617</guid><author>drlmemory</author><pubDate>Fri, 23 Dec 2016 11:49:54 +0800</pubDate><description><![CDATA[在C语言中，常常会遇到判断CPU大小端的问题，在很多的笔试面试中经常会出现类似的题目，网络编程中也会进程遇到类似的问题，此文做以总结。


1、那么何为CPU的大端和小端呢？

大端： 指的是数据的高字节存放在内存的低地址中，数据的低字节存放在内存的高地址中；
小端： 指的是数据的高字节存放在内存的高地址中，数据的低字节存放在内存的低地址中；



2、如何用图来说明？
例如]]></description><category></category></item><item><title><![CDATA[UNIX环境高级编程学习之路(六)----进程控制]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/53744791</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/53744791</guid><author>drlmemory</author><pubDate>Mon, 19 Dec 2016 17:34:34 +0800</pubDate><description><![CDATA[对于UNIX环境编程，工作中经常会用到相关知识，作为学习UNIX环境编程的经典书籍–UNIX环境高级编程，是每个UNIX编程人员必看的经典书籍之一，为了将相关知识重新进行学习，以系统的整合所学知识，遂以博文形式作为总结。  1、概述 
本节介绍UNIX系统的进程控制，包括创建新进程、执行程序和进程终止。还将说明进程属性的各种ID–实际、有效和保存的用户ID和组ID，以及他们如何受到进程控制原语的影响]]></description><category></category></item><item><title><![CDATA[UNIX环境高级编程学习之路(五)----进程环境]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/53186697</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/53186697</guid><author>drlmemory</author><pubDate>Wed, 16 Nov 2016 15:03:16 +0800</pubDate><description><![CDATA[对于UNIX环境编程，工作中经常会用到相关知识，作为学习UNIX环境编程的经典书籍–UNIX环境高级编程，是每个UNIX编程人员必看的经典书籍之一，为了将相关知识重新进行学习，以系统的整合所学知识，遂以博文形式作为总结。  1、概述当程序执行时，其main函数是如何被调用的，命令行参数是如何传递给新程序的；典型的存储空间布局是什么样式，如何分配另外的存储空间，进程如何使用环境变量，进程的各种不同终止]]></description><category></category></item><item><title><![CDATA[UNIX环境高级编程学习之路(四)----系统数据文件和信息]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/53105340</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/53105340</guid><author>drlmemory</author><pubDate>Wed, 09 Nov 2016 20:20:57 +0800</pubDate><description><![CDATA[对于UNIX环境编程，工作中经常会用到相关知识，作为学习UNIX环境编程的经典书籍--UNIX环境高级编程，是每个UNIX编程人员必看的经典书籍之一，为了将相关知识重新进行学习，以系统的整合所学知识，遂以博文形式作为总结。]]></description><category></category></item><item><title><![CDATA[UNIX环境高级编程学习之路(三)----标准I/O库]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/53088031</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/53088031</guid><author>drlmemory</author><pubDate>Tue, 08 Nov 2016 20:49:57 +0800</pubDate><description><![CDATA[对于UNIX环境编程，工作中经常会用到相关知识，作为学习UNIX环境编程的经典书籍--UNIX环境高级编程，是每个UNIX编程人员必看的经典书籍之一，为了将相关知识重新进行学习，以系统的整合所学知识，遂以博文形式作为总结。





一、概述

    标准I/O库处理很多细节，如缓冲区分配，以优化的块长度执行I/O等。




二、流和FILE对象

    对于标]]></description><category></category></item><item><title><![CDATA[UNIX环境高级编程学习之路(二)----文件和目录]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/53020734</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/53020734</guid><author>drlmemory</author><pubDate>Thu, 03 Nov 2016 13:43:50 +0800</pubDate><description><![CDATA[对于UNIX环境编程，工作中经常会用到相关知识，作为学习UNIX环境编程的经典书籍--UNIX环境高级编程，是每个UNIX编程人员必看的经典书籍之一，为了将相关知识重新进行学习，以系统的整合所学知识，遂以博文形式作为总结。
一、概述
本章将描述文件系统的其他特征和文件的性质。将从stat函数开始，诸葛说明stat结构的每一个成员以了解文件的所有属性。在此过程中我们将说明修改这些属性的各个函数（]]></description><category></category></item><item><title><![CDATA[UNIX环境高级编程学习之路(一)----文件I/O]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/52872982</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/52872982</guid><author>drlmemory</author><pubDate>Thu, 20 Oct 2016 15:23:11 +0800</pubDate><description><![CDATA[对于UNIX环境编程，工作中经常会用到相关知识，作为学习UNIX环境编程的经典书籍--UNIX环境高级编程，是每个UNIX编程人员必看的经典书籍之一，为了将相关知识重新进行学习，以系统的整合所学知识，遂以博文形式作为总结。




一、概述

    Unix系统可用的文件I/O函数--打开文件，读文件，写文件等，大多数文件I/O只需用到5个函数：open、read、write、ls]]></description><category></category></item><item><title><![CDATA[常见排序算法C/C++实现总结]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/51919503</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/51919503</guid><author>drlmemory</author><pubDate>Fri, 15 Jul 2016 17:12:22 +0800</pubDate><description><![CDATA[在数据结构与算法中常见的排序算法有：
1.插入排序；
2.冒泡排序；
3.堆排序；
4.归并排序；
5.快速排序；
相关实现：
一、插入排序
#include 

void InsertSort(int arr[],int num)
{
	for (int i = 1; i < num; i++)
	{
		for (int j = i; j > 0; j--)
		{
			if]]></description><category></category></item><item><title><![CDATA[MySQL数据库相关知识梳理]]></title><link>https://blog.youkuaiyun.com/drlmemory/article/details/50637115</link><guid>https://blog.youkuaiyun.com/drlmemory/article/details/50637115</guid><author>drlmemory</author><pubDate>Fri, 05 Feb 2016 10:12:36 +0800</pubDate><description><![CDATA[int  STDCALL mysql_query(MYSQL *mysql, const char *q)：连接上数据库后，将连接上数据库额句柄和执行的SQL语句传入到函数中即可执行该语句。

MYSQL_RES *res；
res = mysql_store_result(MYSQL *mysql);   //取回结果集地址
mysql_store_result的返回值是执行sql语句后的]]></description><category></category></item></channel></rss>