<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LokTar29的博客]]></title><description><![CDATA[c语言初学者]]></description><link>https://blog.youkuaiyun.com/LokTar29</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LokTar29]]></copyright><item><title><![CDATA[数据库（四）C++连接MySQL]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/106064614</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/106064614</guid><author>LokTar29</author><pubDate>Mon, 11 May 2020 22:46:15 +0800</pubDate><description><![CDATA[mysql.h
#ifndef MYSQL_H
#define MYSQL_H

#include &lt;mysql/mysql.h&gt;
#include &lt;cstring&gt;
#include &lt;list&gt;
#include &lt;vector&gt;
#include &lt;iostream&gt;
using namespace std;

class SQL
{
public:
	SQL();
	~SQL();
	/*
	功能：
		初始化数据库
		连接数据训
		]]></description><category></category></item><item><title><![CDATA[数据库（三）]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/106064575</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/106064575</guid><author>LokTar29</author><pubDate>Mon, 11 May 2020 22:43:01 +0800</pubDate><description><![CDATA[一、数据约束
约束：对表中的数据加以限制，不允许非法数据插入。
注意：MySQL数据库不能很好的支持约束条件。
	主键：非空且唯一
	PRIMARY KEY
	CREATE TABLE student(id int PRIMARY KEY,name char(20),sex char);
	INSERT INTO student VALUES(123,'HEHE','M');
	
	唯一：数据不能重复
	UNIQUE
	CREATE TABLE student2(id int PRIMARY KEY,nam]]></description><category></category></item><item><title><![CDATA[数据库（二）]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/106064482</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/106064482</guid><author>LokTar29</author><pubDate>Mon, 11 May 2020 22:41:43 +0800</pubDate><description><![CDATA[INSERT INTO Student(name,sex,age,id) VALUES('hehe2','m',18,19070002);
INSERT INTO Student(name,sex,age,id) VALUES('hehe3','m',19,19070003);
INSERT INTO Student(name,sex,age,id) VALUES('hehe4','w',20,19070004);


CREATE TABLE Teacher(id int,name char(20),su]]></description><category></category></item><item><title><![CDATA[数据库（一）]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/106064439</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/106064439</guid><author>LokTar29</author><pubDate>Mon, 11 May 2020 22:36:30 +0800</pubDate><description><![CDATA[一、数据库介绍
1、为什么使用数据库
	计算机的资源有限因此不可能把数据一直存储在内存中，而且内存一旦掉电数据就会不存在，我们需要所内存中的数据存储到文件中，方便下次的编辑、拷贝。
	但随着程序越来越来复杂数据也就会越来越庞大，管理这些数据就会成为编程中最难、最重要的问题。
	使用文件保存不安全，可能会被误删除，也可能被覆盖。
		而数据库的访问是需要用户名、密码、相应的权限及命令。
	文件读取数据并解析需要大量的重复代码，这种操作效率很低。
		从数据库中查询数据只需要提供条件即可。
	文件中删除一条记录]]></description><category></category></item><item><title><![CDATA[多路复用（五）epoll]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/105770927</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/105770927</guid><author>LokTar29</author><pubDate>Sun, 26 Apr 2020 16:02:12 +0800</pubDate><description><![CDATA[服务端
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
#include &lt;unistd.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;sys/select.h&gt;
#inc...]]></description><category></category></item><item><title><![CDATA[多路复用（四）poll]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/105770860</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/105770860</guid><author>LokTar29</author><pubDate>Sun, 26 Apr 2020 16:01:06 +0800</pubDate><description><![CDATA[服务端
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
#include &lt;unistd.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;sys/select.h&gt;
#inc...]]></description><category></category></item><item><title><![CDATA[多路复用（三）pselect]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/105770839</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/105770839</guid><author>LokTar29</author><pubDate>Sun, 26 Apr 2020 15:59:12 +0800</pubDate><description><![CDATA[服务端
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;unistd.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;sys/select.h&gt;
#include &lt;netinet/in.h&gt;
...]]></description><category></category></item><item><title><![CDATA[多路复用（二） select]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/105770172</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/105770172</guid><author>LokTar29</author><pubDate>Sun, 26 Apr 2020 15:55:12 +0800</pubDate><description><![CDATA[服务端
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;unistd.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;sys/select.h&gt;
#include &lt;netinet/in.h&gt;
...]]></description><category></category></item><item><title><![CDATA[多路复用（一）简介]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/105769974</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/105769974</guid><author>LokTar29</author><pubDate>Sun, 26 Apr 2020 15:31:37 +0800</pubDate><description><![CDATA[一、多路复用IO
在不创建新的进程和线程的情况下监控多个文件描述符，多应用于网络编程时一个服务端程序为多个客户端程序提供服务，多用于在业务逻辑简单，客户端需要的服务时间短，响应时间无太高要求的场景。
二、使用select函数实现多路复用IO
int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struc...]]></description><category></category></item><item><title><![CDATA[线程通信]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/101601272</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/101601272</guid><author>LokTar29</author><pubDate>Sat, 28 Sep 2019 10:44:06 +0800</pubDate><description><![CDATA[一、同步、竞争、互斥
当多个线程同时访问其共享的资源时，需要相互协调，以防止出项数据不一致、不完整的问题，
能达到这种状态叫线程同步
而有些资源在同一时刻只有一个线程访问，对于这种资源的访问需要竞争
当资源获取到后，能够防止资源被其它线程再次获取的技术叫互斥
二、互斥量(锁)
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
int pthrea...]]></description><category></category></item><item><title><![CDATA[进程间通信]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/101601195</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/101601195</guid><author>LokTar29</author><pubDate>Sat, 28 Sep 2019 10:43:03 +0800</pubDate><description><![CDATA[一、基本概念
什么进程间通信（IPC）：指两个或多个进程之间交换数据的过程叫进程间通信
进程之间为什么需要通信？
当需要多个进程协同工作高效率完成任务时，因为每个进程都是独立的个体（资源单位）
，进程之间就需要进行通信。
进程间通信方式：
1、简单进程间通信：命令行参数，环境变量表、信号、文件
2、传统进程间通信：管道
3、XSI进程间通信：共享内存、消息队列、信号量
4、网络进程间通信：sock...]]></description><category></category></item><item><title><![CDATA[自己实现一个简单的string类]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/101600956</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/101600956</guid><author>LokTar29</author><pubDate>Sat, 28 Sep 2019 10:37:59 +0800</pubDate><description><![CDATA[#include &lt;iostream&gt;
#include &lt;string.h&gt;
using namespace std;


class String
{
	char* str;
public:
	String(const char* str)
	{
		if (NULL == str)
		{
			this-&gt;str = new char[1];
			this-...]]></description><category></category></item><item><title><![CDATA[各种排序与查找算法]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/101569138</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/101569138</guid><author>LokTar29</author><pubDate>Fri, 27 Sep 2019 23:16:45 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdbool.h&gt;

#define swap(a,b) {typeof(a) t=a; a=b; b=t;}

int order_find(int* arr,size_t len,int key)
{
	for(int i=0; i&lt;len; i++)
...]]></description><category></category></item><item><title><![CDATA[Linux上使用Git连接GitHub]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/100138409</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/100138409</guid><author>LokTar29</author><pubDate>Thu, 29 Aug 2019 15:29:56 +0800</pubDate><description><![CDATA[Git版本控制系统是一个分布式的系统，是用来保存工程源代码历史状态的命令行工具
Linux和Windows上都可以使用Git工具连接码云或者GitHub，这可以很方便的进行代码的下载以及上传。
具体步骤：
1、在终端输入 sudo apt-get install git 进行下载和安装Git
2、在终端输入 git config --global user.name “user_name” 引号内...]]></description><category></category></item><item><title><![CDATA[基于C++的酒店管理系统]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/100023700</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/100023700</guid><author>LokTar29</author><pubDate>Thu, 22 Aug 2019 20:46:21 +0800</pubDate><description><![CDATA[酒店管理系统：
前提:
	楼层，房间编号，房间类型，价格
开房：姓名，房间，随行人员，押金，时长
续费：延时，修改类型
退房：押金，消费

实现：在class.h中构建出房间以及顾客的两个类以及访问和修改类中私有成员的成员函数，然后在class.cpp中实现这些成员函数，func中实现开房、续费、查询、退房等具体的功能函数。
main.c
#include &lt;iostream&gt;
#in...]]></description><category></category></item><item><title><![CDATA[用C++编写单向链表]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/99694761</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/99694761</guid><author>LokTar29</author><pubDate>Sat, 17 Aug 2019 16:34:55 +0800</pubDate><description><![CDATA[list.h
#ifndef LIST_H
#define LIST_H

#include &lt;iostream&gt;
#include &lt;cstdio&gt;

#define TYPE int 

using namespace std;

class Node
{
public:
	TYPE data;
	Node* next;

	Node(TYPE _data)
	{
		...]]></description><category></category></item><item><title><![CDATA[运算符重载返回值的引用或临时对象]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/99694604</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/99694604</guid><author>LokTar29</author><pubDate>Sat, 17 Aug 2019 16:30:04 +0800</pubDate><description><![CDATA[const Point operator+(const Point&amp; that) const
	{
		return Point(that.x+x,that.y+y);	
	}

	const Point&amp; operator+=(const Point&amp; that)
	{
		x += that.x;
		y += that.y;
		return *this;
	}

...]]></description><category></category></item><item><title><![CDATA[运算符的重载]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/99693837</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/99693837</guid><author>LokTar29</author><pubDate>Sat, 17 Aug 2019 16:16:02 +0800</pubDate><description><![CDATA[双目运算符的重载
成员函数：
类对象 operator#(const 类&amp; that) const
{
	return 类(参数#参数);
}
注意：双目运算符的运算结构是个右值，返回值应该加 const,然后为了 const 对象能够调用参数应该写 const，函数也应该具备 const 属性。

全局函数：
类 operator#(const 类&amp; a,const 类&amp;...]]></description><category></category></item><item><title><![CDATA[基于TCP的C/S模型文件传输]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/98982879</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/98982879</guid><author>LokTar29</author><pubDate>Fri, 09 Aug 2019 19:45:01 +0800</pubDate><description><![CDATA[实现：
文件上传
文件下载
通过命令行查看服务器的各层文件：cd、ls、mkdir、exit
server.c
#include &lt;stdio.h&gt;
#include &lt;unistd.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/stat.h&gt;
#include &lt;fcntl.h&gt;
#include &l...]]></description><category></category></item><item><title><![CDATA[基于TCP的网络聊天室]]></title><link>https://blog.youkuaiyun.com/LokTar29/article/details/98982070</link><guid>https://blog.youkuaiyun.com/LokTar29/article/details/98982070</guid><author>LokTar29</author><pubDate>Fri, 09 Aug 2019 19:37:44 +0800</pubDate><description><![CDATA[client.c
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;unistd.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;arpa/inet.h&gt;
#include &lt;string.h&gt;...]]></description><category></category></item></channel></rss>