alaigle

prepare yourself to change the world!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年5月24日

摘要: 在结构体内定义字符指针使用时,另外根据情况申请内存,如下:struct strData { int nHead; int nLen; char *pt; };strData data;data.pt = (char*)malloc(100); // 申请100个字节的空间使用后记得用free释放指针引申:动态存储分配在数组一章中,曾介绍过数组的长度是预先定义好的,在整个程序中固定不变。C语言中不允许动态数组类型。例如:int n; scanf("%d",&n);int a[n];用变量表示长度,想对数组的大小作动态说明,这是错误的。但是在实际的编程中,往往会发生这种 阅读全文
posted @ 2012-05-24 10:03 alaigle 阅读(1347) 评论(0) 推荐(0)

摘要: 函数名: strcpy功 能: 拷贝一个字符串到另一个用 法: char *stpcpy(char *destin, char *source);程序例:#include <stdio.h>#include <string.h>int main(void){ char string[10]; char *str1 = "abcdefghi"; stpcpy(string, str1); printf("%sn", string); return 0;}函数名: strcat功 能: 字符串拼接函数用 法: char *strcat 阅读全文
posted @ 2012-05-24 09:48 alaigle 阅读(49063) 评论(1) 推荐(0)

摘要: 一. lilo引导1.在出现lilo:提示时键入linux singleBoot: linux single2.回车可直接进入linux单用户模式3. vi /etc/passwd删除root项中的密码(这里也可以直接使用passwd命令重新设置root的密码)4. reboot重启,root密码为空二. grub引导1.在出现grub画面时,选择linux引导项,然后按e键2.选择以kernel开头的一行,再按e键,在此行的末尾,按空格键后输入single,以回车键来退出编辑模式;3.回车返回,然后按b键启动,即可直接进入linux单用户模式4. vi /etc/passwd删除root项中 阅读全文
posted @ 2012-05-24 09:29 alaigle 阅读(1008) 评论(0) 推荐(0)

摘要: 函数库分为静态库和动态库两种。创建Linux静态库和Linux动态库和使用它们在这里将以举例的形式详述一下。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。 第1步:编辑得到举例的程序——hello.h、hello.c和main.c; hello.h(见程序1)为该函数库的头文件。 hello.c(见程序2)是函数库的源程序,其中包含公用函数hello,该函数将在屏幕上输出"Hello XXX!". main.c(见程序3)为测试库文件的主程序,在主 阅读全文
posted @ 2012-05-24 09:27 alaigle 阅读(293) 评论(0) 推荐(0)

2012年5月14日

摘要: 有时我们需要将函数作为结构体的成员,模拟C++类的情形,可应用于方法注册。#include <stdio.h>struct a{ void (*func)(char *);};void hello(char *name){ printf ("hello %s\n",name);}int main(){ struct a a1; a1.func = hello; a1.func("illusion"); system("PAUSE"); return 0;} 阅读全文
posted @ 2012-05-14 15:50 alaigle 阅读(538) 评论(0) 推荐(0)

摘要: 原文http://www.blogjava.net/huyi2006/articles/263836.html实例来自互联网,这段测试代码实现了基本的文件传输原理,没有实现错误处理。//////////////////////////////////////////////////////////////////////////////////////// file_server.c 文件传输顺序服务器示例////////////////////////////////////////////////////////////////////////////////////////本文件是服务器 阅读全文
posted @ 2012-05-14 15:49 alaigle 阅读(2002) 评论(0) 推荐(0)

摘要: 原文http://www.blogjava.net/huyi2006/articles/263831.html借此地方整理以下socket编程的多种语言的实现,socket可以跨平台的通信,因此多语言、多平台下的实现有必要了解的。代码都是源自网上,感谢网友的分享。socket编程在windows下的C语言实现,dev C++下编译通过编译时设置编译选项 工具-->编译选项-->编译器,勾选在连接器命令行加入以下命令,在对话框中填-lwsock32//server.c#include <stdio.h>#include <Winsock2.h>int main 阅读全文
posted @ 2012-05-14 15:48 alaigle 阅读(894) 评论(0) 推荐(0)

摘要: 原文http://www.blogjava.net/huyi2006/articles/189520.html在网络程序里面,一般的来说都是许多客户机对应一个服务器.为了处理客户机的请求, 对服务端的程序就提出了特殊的要求.我们学习一下目前最常用的服务器模型.循环服务器:循环服务器在同一个时刻只可以响应一个客户端的请求并发服务器:并发服务器在同一个时刻可以响应多个客户端的请求9.1 循环服务器:UDP服务器UDP循环服务器的实现非常简单:UDP服务器每次从套接字上读取一个客户端的请求,处理, 然后将结果返回给客户机.可以用下面的算法来实现. socket(...); bind(...); wh 阅读全文
posted @ 2012-05-14 15:47 alaigle 阅读(240) 评论(0) 推荐(0)

摘要: 原文http://www.blogjava.net/huyi2006/articles/139179.html(C)libpcap函数库说明libpcap获取数据包函数库说明libpcap的英文意思是 Packet Capture library,即数据包捕获函数库。该库提供的C函数接口可用于需要捕获经过网络接口(只要经过该接口,目标地址不一定为本机)数据包的系统开发上。由Berkeley大学Lawrence Berkeley National Laboratory研究院的Van Jacobson、Craig Leres和Steven McCanne编写,目前的最新版本为0.4。该函数库支持L 阅读全文
posted @ 2012-05-14 15:46 alaigle 阅读(2250) 评论(0) 推荐(0)

摘要: 原文http://www.blogjava.net/huyi2006/articles/139176.htmlsocket编程中需要用到的头文件sys/types.h:数据类型定义sys/socket.h:提供socket函数及数据结构netinet/in.h:定义数据结构sockaddr_inarpa/inet.h:提供IP地址转换函数netdb.h:提供设置及获取域名的函数sys/ioctl.h:提供对I/O控制的函数sys/poll.h:提供socket等待测试机制的函数其他在网络程序中常见的头文件unistd.h:提供通用的文件、目录、程序及进程操作的函数errno.h:提供错误号er 阅读全文
posted @ 2012-05-14 15:45 alaigle 阅读(285) 评论(0) 推荐(0)