<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chenxihanhui的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chenxihanhui</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenxihanhui]]></copyright><item><title><![CDATA[qt实现计算器]]></title><link>https://blog.youkuaiyun.com/chenxihanhui/article/details/125834580</link><guid>https://blog.youkuaiyun.com/chenxihanhui/article/details/125834580</guid><author>chenxihanhui</author><pubDate>Sun, 17 Jul 2022 17:44:29 +0800</pubDate><description><![CDATA[简单学了一下qt,做了个最基本的计算器。]]></description><category></category></item><item><title><![CDATA[队列和栈总结]]></title><link>https://blog.youkuaiyun.com/chenxihanhui/article/details/125834545</link><guid>https://blog.youkuaiyun.com/chenxihanhui/article/details/125834545</guid><author>chenxihanhui</author><pubDate>Sun, 17 Jul 2022 17:41:25 +0800</pubDate><description><![CDATA[写篇文章，总结一下栈和队列。]]></description><category></category></item><item><title><![CDATA[常用排序算法]]></title><link>https://blog.youkuaiyun.com/chenxihanhui/article/details/125834510</link><guid>https://blog.youkuaiyun.com/chenxihanhui/article/details/125834510</guid><author>chenxihanhui</author><pubDate>Sun, 17 Jul 2022 17:40:11 +0800</pubDate><description><![CDATA[总结一些常用的排序算法。]]></description><category></category></item><item><title><![CDATA[linux信号机制]]></title><link>https://blog.youkuaiyun.com/chenxihanhui/article/details/119868182</link><guid>https://blog.youkuaiyun.com/chenxihanhui/article/details/119868182</guid><author>chenxihanhui</author><pubDate>Mon, 23 Aug 2021 14:52:14 +0800</pubDate><description><![CDATA[信号机制主要包括信号的发送和处理。
可以类比于单片机中的中断和中断服务函数，也可以类比于Qt中的信号与槽。
signal
signal函数用来处理接受到的信号
sighandler_t signal(int signum, sighandler_t handler);
第一个参数signum：指明了所要处理的信号类型，它可以取除了SIGKILL和SIGSTOP外的任何一种信号。 　
第二个参数handler：描述了与信号关联的动作，它可以取以下三种值：

SIG_IGN 　
忽略此信号
SIG_DFL 　
]]></description><category></category></item><item><title><![CDATA[c语言错误信息]]></title><link>https://blog.youkuaiyun.com/chenxihanhui/article/details/119865857</link><guid>https://blog.youkuaiyun.com/chenxihanhui/article/details/119865857</guid><author>chenxihanhui</author><pubDate>Mon, 23 Aug 2021 13:56:04 +0800</pubDate><description><![CDATA[errno
c语言中存在一个error，用来保存最后的错误代码.
errno定义在&lt;errno.h&gt;中，是一个宏定义，用来储存错误代码。
当程序发生错误时，就会将错误代码写入errno.
程序启动时，errno为0，当发生错误时，程序就会将错误代码写入errno,注意，errno是不会自动清零的，而且错误代码的写入是可覆盖的。
所以我们必须在错误发生后立即读取errno的值，进行相关处理。
错误代码只是一个数字，想要获得具体的错误提示信息有两种办法，一是使用perror直接输出错误信息，二是使用]]></description><category></category></item><item><title><![CDATA[linux多进程]]></title><link>https://blog.youkuaiyun.com/chenxihanhui/article/details/119864677</link><guid>https://blog.youkuaiyun.com/chenxihanhui/article/details/119864677</guid><author>chenxihanhui</author><pubDate>Mon, 23 Aug 2021 11:10:34 +0800</pubDate><description><![CDATA[使用fork创建子进程
#include &lt;stdio.h&gt;
#include &lt;unistd.h&gt;
#include &lt;stdlib.h&gt;
int main(){

pid_t pid;
pid=fork();

if(pid==0){
	while(1){
		printf("this is the child process\n");
		sleep(1);
	}
}
else{
	while(1){
		printf("this is the father pro]]></description><category></category></item><item><title><![CDATA[基于命令行实现交互式socket通信]]></title><link>https://blog.youkuaiyun.com/chenxihanhui/article/details/119650745</link><guid>https://blog.youkuaiyun.com/chenxihanhui/article/details/119650745</guid><author>chenxihanhui</author><pubDate>Thu, 12 Aug 2021 18:15:56 +0800</pubDate><description><![CDATA[客户端的实现
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;unistd.h&gt;
#include &lt;arpa/inet.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;pthread.h&gt;
void *read_data(void * args){
		
	//读取客户端传回的数据
    char buff]]></description><category></category></item><item><title><![CDATA[linux多线程编程]]></title><link>https://blog.youkuaiyun.com/chenxihanhui/article/details/119643515</link><guid>https://blog.youkuaiyun.com/chenxihanhui/article/details/119643515</guid><author>chenxihanhui</author><pubDate>Thu, 12 Aug 2021 17:02:10 +0800</pubDate><description><![CDATA[linux多线程编程
这个帖子是一边改代码一边写的，可能会有点乱，有空再好好整理一下
linux多线程编程使用的接口主要包含在头文件&lt;pthread.h&gt;中
常用接口
创建线程
多线程入门
//多线程
#include &lt;stdio.h&gt;
#include &lt;pthread.h&gt;
#include &lt;unistd.h&gt;
void* print1(){
	while(1){
	sleep(1);	
	printf("This is thread1\n");
	
]]></description><category></category></item><item><title><![CDATA[Android实现TCP服务器]]></title><link>https://blog.youkuaiyun.com/chenxihanhui/article/details/115051646</link><guid>https://blog.youkuaiyun.com/chenxihanhui/article/details/115051646</guid><author>chenxihanhui</author><pubDate>Sun, 21 Mar 2021 17:05:48 +0800</pubDate><description><![CDATA[Android实现TCP服务器
1.获取本机ip地址
建立socket连接之前，我们首先要获取本地的ip地址，这样，才能让客户端通过ip地址连接到服务器
  /**获得IP地址，分为两种情况，一是wifi下，二是移动网络下，得到的ip地址是不一样的*/
     String getIPAddress() {
        Context context=MainActivity.this;
        NetworkInfo info = ((ConnectivityManager) context]]></description><category></category></item><item><title><![CDATA[Android实现TCP客户端]]></title><link>https://blog.youkuaiyun.com/chenxihanhui/article/details/115050849</link><guid>https://blog.youkuaiyun.com/chenxihanhui/article/details/115050849</guid><author>chenxihanhui</author><pubDate>Sun, 21 Mar 2021 16:39:43 +0800</pubDate><description><![CDATA[Android实现TCP客户端
1.添加相关权限，使得android app可以访问网络
在AndroidManiffest.xml中添加
&lt;uses-permission android:name="android.permission.INTERNET"/&gt;

2.socket的连接
由于android平台的限制，与网络相关的操作只能在子线程中进行，所以这里我们单独建立一个线程用于socket的连接
 //子线程中进行网络相关操作
    class connectthread extend]]></description><category></category></item><item><title><![CDATA[Android实例之必应每日一图]]></title><link>https://blog.youkuaiyun.com/chenxihanhui/article/details/113115019</link><guid>https://blog.youkuaiyun.com/chenxihanhui/article/details/113115019</guid><author>chenxihanhui</author><pubDate>Mon, 25 Jan 2021 21:56:33 +0800</pubDate><description><![CDATA[第一次写博客，记录一下自己学习android过程中做过的一些实例。
一、演示效果


]]></description><category></category></item></channel></rss>