- 博客(29)
- 收藏
- 关注
原创 4.30 删除字符串中的空格
#include #include #include char str[50]; char str_2[50]; //用数组实现 char delete_space(char a[50]) { char temp[50]; int i = 0; int j = 0; while(a[i] != '\0') { //
2017-04-30 21:09:27 354
转载 单向链表实现堆栈
单向链表实现堆栈 要求: 1 使用C语言; 2 使用单向链表; 3 接口规范,通用性强; 解: 1 链表元素的类型确定 为了最终确定这两个函数的调用模型,你还需要知道进出堆栈的数据是属于哪种类型的。也就是说,你得声明一个struct结构作为链表元素的数据类型。 如果没有特殊要求,应该考虑使用无类型指针来实现一个通用的解决方案。基于无类型指针的struct结构和函数调用模型如下所示:
2017-04-29 21:58:11 1722
转载 µC/OS-Ⅱ移植
这一章介绍如何将µC/OS-Ⅱ移植到不同的处理器上。所谓移植,就是使一个实时内核能在某个微处理器或微控制器上运行。为了方便移植,大部分的µC/OS-Ⅱ代码是用C语言写的;但仍需要用C和汇编语言写一些与处理器相关的代码,这是因为µC/OS-Ⅱ在读写处理器寄存器时只能通过汇编语言来实现。由于µC/OS-Ⅱ在设计时就已经充分考虑了可移植性,所以µC/OS-Ⅱ的移植相对来说是比较容易的。如果已经有人在您使
2017-04-27 22:29:22 998
原创 fflush()
头文件:#include fflush()不是标准库文件,经笔者测试,VC6.0完美支持,GCC(GCC4.6.2)不支持。 fflush()用于清空文件缓冲区,如果文件是以写的方式打开 的,则把缓冲区内容写入文件。其原型为: int fflush(FILE* stream); 【参数】stream为文件指针。 【返回值】成功返回0,失败返回EOF,错误代码存于e
2017-04-24 23:18:41 260
原创 lianbiao
链表的创建,增加、删除节点,链表的逆序、排序和销毁等。 [cpp] view plain copy #include #include typedef struct node { int data; node* pNext; }Node; //链表的操作,以有头节点为例,
2017-04-23 23:35:21 176
原创 数据库常用命令
、MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 表的详细描述 select 中加上distinct去除重复字段 mysqladmin drop
2017-04-21 23:35:22 169
原创 线程资源的回收
在写网络服务器程序时可能需要实现多线程接收多个客户端的数据,我实现方式比较傻,死循环等待client的connect,connect之后创建thread,这样其实有一个问题,服务器程序需要长期运行,长时间线程的创建,线程资源的回收就是一个问题。 Linux系统中程序的线程资源是有限的,表现为对于一个程序其能同时运行的线程数是有限的。而默认的条件下,一个线程结束后,其对应的资源不会被释放,于是
2017-04-20 23:24:17 700
原创 setsockopt()
setsockopt ()函数用于任意类型、任意状态套接口的设置选项值。尽管在不同协议层上存在选项,但本函数仅定义了最高的“套接口”层次上的选项。选项影响套接口的操作,诸如加急数据是否在普通数据流中接收,广播数据是否可以从套接口发送等等。 有两种套接口的选项:一种是布尔型选项,允许或禁止一种特性;另一种是整形或结构选项。允许一个布尔型选项,则将optval指向非零整形数;禁止一个选 项op
2017-04-19 23:26:28 2250
原创 密码
int mygetch() { struct termios oldt; struct termios newt; int ch; tcgetattr(STDIN_FILENO,&oldt); newt = oldt; newt.c_lflag &= ~(ICANON|ECHO); tcsetattr(STDI
2017-04-18 23:28:12 264
原创 connect
主要是创建一个套接字用于与服务端交换数据,并且通常它会迅速返回,此时并没有数据通过网卡发送出去,而紧随其后的connect函数则会产生网络数据的发送,TCP的三次握手也正是在此时开始,connect会先发送一个SYN包给服务端,并从最初始的CLOSED状态进入到SYN_SENT状态,在此状态等待服务端的确认包,通常情况下这个确认包会很快到达,以致于我们根本无法使用netstat命令看到SYN_SE
2017-04-17 23:11:29 269
原创 printf
printf输出函数,每执行一个printf输出函数,输出的数不是“肯定立刻”打印到屏幕上的,只有遇到一下几种情况时,printf输出的数据(执行了printf,但还没有打印到屏幕的数据)才会全部打印到屏幕上:1、有输入请求的时候,会立马输出到屏幕2、输出有换行符的时候,也会马上输出到屏幕上3、程序结束的时候也会马上输出到屏幕上4、输出缓冲区满的时候linux下除非碰到换行符(\n),否则会等到缓
2017-04-16 23:14:25 183
原创 perror 和 strerror 区别
perror(s) 用来将上一个函数发生错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno(这里的说法不准确,errno是一个宏,该宏返回左值) 的值来决定要输出的字符串。在库函数中有个errno变量,每个errno值对应着以字符串表示的错误类型。当你调用"某些"函数出错时,该函数已经重新设置了errno的值。pe
2017-04-13 23:00:16 470
原创 socket
用socket套接字实现应用程序间的通信 1、应用程序作为服务器时,可以用以下代码实现: ServerSocket server=new ServerSocket(int Port); //server是创建的服务器对象,Port为该服务器占用的端口号,只有当服务器和客户端的端口号相同时才能连接成功。 在服务器端进行等待: Soc
2017-04-10 22:51:15 152
原创 ARM
#include #include #include #include "mmu.h" #include "typedef.h" #include "S3C2451_gpio.h" #include "S3C2451_uart.h" #include "S3C2451_irq.h" //#include "S3C2451_eint.h" void delay(uns
2017-04-09 21:21:22 150
原创 中断
一、单片机中断系统 1、基本特点 有5个固定的中断源,其中3个在片内,2个在片外,它们在程序存储器ROM中都分别有各自固定的中断入口地址,由此进入中断服务程序(ISR);这5个固定的中断源都分别有两级中断优先级:高优先级和低优先级;可形成中断嵌套;有2个特殊功能寄存器用于中断控制的编程(IE和IP);对于8052单片机来说,增加了第三个中断源:定时器/计数器T2的中断; 外部中断源:
2017-04-02 22:58:27 341
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人