自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

要有最朴素的生活,与最遥远的梦想。即使明日天寒地冻,路远马亡。

  • 博客(50)
  • 资源 (3)
  • 收藏
  • 关注

转载 c语言socket编程指南

作者:hy_number_one 来源:csdn 介绍Socket 编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 connect() 前的bind() 的结构而不知所措?等等…好在我已经将这些事完成了,我将和所有人共享我的知识了。如果你了解 C 语言并想穿过网络编程的沼泽,那么你来对地方了。

2012-07-31 20:55:05 1195

转载 关于Socket通讯时通讯协议的制定

在系统开发过程中,如果涉及到了Socket通讯,那就要制定好通讯的协议,只有制定好了规则,后面的工作才方便顺利展开,制作通讯协议时要考虑到通讯的安全性,必要的信息要经过加密处理,同时也要考虑到系统的可扩展性,如果以后需要增加一个命令或者修改命令要保证这些工作能方便的进行。          协议的内容包括如下:一、     系统默认约定1.  本协议使用的字符串,如密码,位

2012-07-31 20:49:52 929

转载 掌握 Linux 调试技术

本文讨论了四种调试 Linux 程序的情况。在第 1 种情况中,我们使用了两个有内存分配问题的样本程序,使用 MEMWATCH 和 Yet Another Malloc Debugger(YAMD)工具来调试它们。在第 2 种情况中,我们使用了 Linux 中的 strace 实用程序,它能够跟踪系统调用和信号,从而找出程序发生错误的地方。在第 3 种情况中,我们使用 Linux 内核的 Oops

2012-07-29 13:25:31 675

转载 setsockopt()函数

简述:  设置套接口的选项。  #include   #include   int setsockopt(int sockfd, int level, int optname,  const void *optval, socklen_t optlen);  sockfd:标识一个套接口的描述字。  level:选项定义的层次;支持SOL_SOCKET、IPPR

2012-07-26 13:52:01 1448

转载 c语言字符串函数详解

void *memset(void *dest, int c, size_t count); 将dest前面count个字符置为字符c. 返回dest的值. void *memmove(void *dest, const void *src, size_t count); 从src复制count字节的字符到dest. 如果src和dest出现重叠,

2012-07-25 21:21:19 504

转载 Linux下用到数据库sqlite3

0. 引言 我们这篇文章主要讲述了如何在C/C++语言中调用 sqlite 的函数接口来实现对数据库的管理, 包括创建数据库、创建表格、插入数据、查询数据、删除数据等。 1. 说明 这里我们假设你已经编译好了sqlite的库文件 : libsqlite3.a libsqlite3.la libsqlite3.so libsqlite3.so.0 libsqlite3

2012-07-25 21:10:50 1412

转载 SQLITE3使用总结

前序:Sqlite3 的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够。这些天再次研究它,又有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记。这里要注明,我是一个跨平台专注者,并不喜欢只用 windows 平台。我以前的工作就是为 unix 平台写代码。下面我所写的东西,虽然没有验证,但是我已尽量不使用任何 windows 的东西,只使用标准 C 或

2012-07-25 21:07:04 1207

转载 linux sleep命令参数及用法详解--linux休眠延迟执行命令

使用权限 : 所有使用者使用方式 : sleep [--help] [--version] number[smhd]说明 : sleep 可以用来将目前动作延迟一段时间参数说明 :--help : 显示辅助讯息--version : 显示版本编号number : 时间长度,后面可接 s、m、h 或 d其中 s 为秒,m 为 分钟,h 为小时,d 为日数例子 :显

2012-07-24 19:54:36 12449

原创 Linux解决乱码问题以及查看文件编码方式

在linux下操作windows下的文件,经常遇到文件乱码,现在就是不知道能不能改变linux系统的编码,就不要再对文件进行编码转换了。求大神指教~下面是昨天看的一点资料-----------------------------------------------------------------------------------------------

2012-07-24 18:03:55 16144 1

原创 C实现停车场管理

/***************************************************************************项目要求停车场管理问题描述:停车场是一个能放n辆车的狭长通道,只有一个大门,汽车按到达的先后次序停放。若车场满了,车要停在门外的便道上等候,一旦有车走,则便道上第一辆车进入。当停车场中的车离开时,由于通道窄,在它后面的车要先退出,待

2012-07-21 21:30:43 7279

转载 C语言头文件

看了下面的文章,对头文件的使用还是很混乱,求指教~-----------------------------------------------------------------------------------------------------------------------------------------------文章来源:http://blog.chinaun

2012-07-19 13:03:06 1843

原创 C实现单链表直接选择排序

/****************************单链表直接选择排序*******************************/#include#includestruct node{ int num; struct node *next;};struct node *head=NULL;cre_list() //初始化结点{ head =

2012-07-19 09:27:28 3195 1

原创 排序二叉树实现同学录

/************************************************************************/ /* 排序二叉树实现同学录 */ /******************************************

2012-07-18 09:08:50 1008

转载 关于scanf()函数

1.屏幕输入与键盘缓冲区存储根据ASCII表存储ASCII值。若输入97+回车键,则缓冲区存储的是39h,37h,0Ah. 2.整型格式输入scanf("%d",&a);过程:scanf按照%d格式最多扫描buffer中前4个字节。如果在读取buffer前四个字节中没有遇到回车符,那么将4个字节按照%d转化为4个字节的整型。如果在读取buffer前四个字

2012-07-17 20:10:13 1976 1

原创 C实现二叉排序树

/************************************************************************/ /* C实现二叉排序树 */ /****************************************************

2012-07-16 21:30:05 2033

原创 电话客户服务模拟

/*****************************************************************************题目:电话客户服务模拟问题描述一个模拟时钟提供接听电话服务的时间(以分钟计),然后这个时钟将循环地自增1(分钟),直到到达指定的时间为止。在时钟的每个“时刻”,就会执行一次检查来看看当前电话的服务是否已经完成,如果是,这个电话从电

2012-07-15 21:11:05 1953 1

原创 栈实现的简单计算器

/***************************************************************** 栈实现的简单计算器*****************************************************************/#include#include#define

2012-07-15 21:09:47 2392 1

原创 C实现链式栈

/***************************************** C实现链式栈*****************************************/#include#include#define OK 1#define ERROR 0typedef int StackData;typedef struct nod

2012-07-15 21:07:50 566

原创 C实现链式队列

/***************************************** C实现链式队列*****************************************/#include#include#define OK 1#define ERROR 0typedef int QueueData;typedef struct no

2012-07-15 21:06:13 1126

原创 【修改】C实现平衡二叉树---AVL

/************************************************************************/ /* C实现平衡二叉树---AVL */ /*********************************

2012-07-13 20:18:46 538

原创 一个静态数组实现的简单队列

/******************************************************一个静态数组实现的简单队列******************************************************/#include#include#define OK 1#define ERROR 0#define MAX_QUEUE_SIZE 10

2012-07-13 20:17:49 803

原创 一个动态数组实现的简单栈

/******************************************************一个动态数组实现的简单栈******************************************************/#include#include#define STACK_SIZE 100 /* 栈初始向量大小 */#define STA

2012-07-13 20:17:10 436

原创 一个静态数组实现的简单栈

/******************************************************一个静态数组实现的简单栈******************************************************/#include#include#define OK 1#define ERROR 0#define MAX_STACK_SIZE 10

2012-07-13 20:16:23 355

转载 链表的几个经典问题

下面是几个关于链表的非常经典的问题与实现,是在《程序员面试攻略》中看到的,由于实在是太经典了,所以忍不住在这里贴下。     问题1:给定一个单项链表,设计一个时间优化并且时间优化的算法,找出该链表的倒数第m个元素。当m=0时,返回链表的最后一个元素。    [分析:用双指针来实现,两指针间隔m。同步移动两指针,当前一个指针为该链表tail时,后一个指针就为要找的元素]El

2012-07-13 09:33:02 483

原创 Josephus约瑟夫环问题

/*********************************************************************题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.提示:用循环链表完成****************************************************

2012-07-13 09:11:27 344

原创 文件检索(C循环双链表实现)

/**********************************************************************************读取目录中的文件名,放到循环双链表中,按1查看前一个,按2查看后一个,按3退出。**************************************************************************

2012-07-13 09:10:39 2696

原创 C实现循环双链表

/************************************** C实现循环双链表**************************************/#include#includestruct DuLNode{ int num; struct DuLNode *prior,*next;};struct DuLNod

2012-07-13 09:09:47 2780

转载 用union验证大小端字节序

请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1 大家都知道,采用Little-endian模式的CPU对操作数的存放方式是从低字节到高字节,而Big-endian模式对操作数的存放方式是从高字节到低字节。 例如,16bit宽的数0x1234在Little- endian模式CPU内存中的存放方式(假设从地址0x4000开始存放

2012-07-13 09:08:39 2567

转载 无名管道和有名管道

管道是Linux支持的最初Unix IPC形式之一,具有以下特点:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。数据的读出和写入:

2012-07-13 09:07:15 1271

转载 理解编译预处理

在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的"宏(macro)"进行处理.C 初学者可能对预处理器没什么概念, 这是情有可原的: 一般的C编译器都将预处理, 汇编, 编译, 连接过程集成到一起了. 编译预处理往往在后台运行. 在有的C编译器中, 这些过

2012-07-12 13:01:44 445

转载 NAND_flash与NOR_flash

许多人都分不清NOR和NAND闪存,其实我们只要把它们进行简单的对比就可以很好区分开来。NOR和NAND是现在市场上两种主要的非易失闪存技术。但是从特性上来说,他们是有区别的。 1.NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行。2.NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度快。

2012-07-12 13:01:19 1344

转载 Linux下Socket编程

Linux下Socket编程  一 、socket介绍  socket接口是TCP/IP网络的API,socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解socket接口。  socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解sock

2012-07-12 13:00:38 444

转载 fcntl函数用法

文件控制函数         fcntl -- file controlLIBRARY         Standard C Library (libc, -lc)SYNOPSIS         #include ;         int fcntl(int fd, int cmd, ...);[描述]            Fcntl()针对(文件)描述符提供

2012-07-12 12:59:55 3249

转载 C语言中extern

extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字.它告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。1。对于extern变量来说,仅仅是一个变量的声明,其并不是在定义分配内存空间。如果该变量定义多次,会有连接错误2。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。也就是说c文件里面定义,如果该函数或者变量与

2012-07-12 12:59:23 371

转载 C语言动态数组

动态数组是指在声明时没有确定数组大小的数组,即忽略圆括号中的下标;当要用它时,可随时用ReDim语句(C语言中用malloc语句)重新指出数组的大小。使用动态数组的优点是可以根据用户需要,有效利用存储空间。  动态数组,是相对于静态数组而言。静态数组的长度是预先定义好的,在整个程序中,一旦给定大小后就无法改变。而动态数组则不然,它可以随程序需要而重新指定大小。动态数组的内存空间是从堆(he

2012-07-12 12:58:51 692

转载 ARM工作模式

从编程的角度看,arm微处理器的工作状态有两种,并可在两种状态之间切换:(1)       arm状态,此时处理器执行32位的字对齐的arm指令(2)       thumb状态,此时处理器执行16位的,半字对齐的thumb指令(为了兼容老芯片)在程序运行的过程中,可以在两种状态之间进行相应的转换。处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。  存储器

2012-07-12 12:58:04 487

转载 ARM_S3C2440中断分析

ARM S3C2440中断分析1.什么是中断所谓中断,是指CPU在正常运行程序时,由于内部/外部事件或由程序预先安排的事件,引起CPU中断正在运行的程序,而转到为内部/外部事件或为预先安排的事件服务的中断程序中去,服务完毕,再返回去执行刚才被中断的程序。2.什么是中断优先级中断优先级是指,中断源被响应和处理的优先等级。设置优先级的目的是为了在有多个中断源同时发出中断请求时,CP

2012-07-12 12:57:31 2925

转载 C野指针

“野指针”不是NULL指针,是指向“垃圾”内存(不可用内存)的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if无法判断一个指针是正常指针还是“野指针”。有个良好的编程习惯是避免“野指针”的唯一方法。 “野指针”的成因主要有三种:(1)指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,

2012-07-12 12:56:51 708

转载 进程与线程的区别

1. 进程与线程区别从概念上:进程:一个程序对一个数据集的动态执行过程,是分配资源的基本单位。线程:一个进程内的基本调度单位。线程的划分尺度小于进程,一个进程包含一个或者更多的线程。 从执行过程中来看:进程:拥有独立的内存单元,而多个线程共享内存,从而提高了应用程序的运行效率。线程:每一个独立的线程,都有一个程序运行的入口、顺序执行序列、和程序的出口。但是线程不能够

2012-07-12 12:56:22 465

转载 五种IO 模式——阻塞(默认IO模式),非阻塞(常用语管道),IO多路复用(IO多路复用的应用场景),信号IO,异步IO

五种I/O 模式:【1】阻塞 I/O(Linux下的I/O操作默认是阻塞I/O,即open和socket创建的I/O都是阻塞I/O)【2】非阻塞 I/O(可以通过fcntl或者open时使用O_NONBLOCK参数,将fd设置为非阻塞的I/O)【3】I/O 多路复用(I/O多路复用,通常需要非阻塞I/O配合使用)【4】信号驱动 I/O(SIGIO)【5】异步 I/O 一

2012-07-12 12:55:50 5852 3

sqlite3.exe

SVN清理失败(cleanup)的解决方法

2020-12-21

Linux下C实现的聊天室.rar

实现目标 一个在Linux下可以使用的聊天软件,要求至少实现如下功能: 1. 采用Client/Server架构 2. Client A 登陆聊天服务器前,需要注册自己的ID和密码 3. 注册成功后,Client A 就可以通过自己的ID和密码登陆聊天服务器 4. 多个Client X 可以同时登陆聊天服务器之后,与其他用户进行通讯聊天 5. Client A成功登陆后可以查看当前聊天室内其他在线用户Client x 6. Client A可以选择发消息给某个特定的Client X,即”悄悄话”功能 7. Client A 可以选择发消息全部的在线用户,即”群发消息”功能 8. Client A 在退出时需要保存聊天记录 9. Server端维护一个所有登陆用户的聊天会的记录文件,以便备查 可以选择实现的附加功能: 1. Server可以内建一个特殊权限的账号admin,用于管理聊天室 2. Admin可以将某个Client X “提出聊天室” 3. Admin可以将某个Client X ”设为只能旁听,不能发言” 4. Client 端发言增加表情符号,可以设置某些自定义的特殊组合来表达感情.如输入:),则会自动发送”XXX向大家做了个笑脸” 5. Client段增加某些常用话语,可以对其中某些部分进行”姓名替换”,例如,输入/ClientA/welcome,则会自动发送”ClientA 大侠,欢迎你来到咱们的聊天室” 附加功能: 文件传输

2019-08-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除