C
MrBugYang
专注嵌入式开发http://download.csdn.net/user/linux_ly
展开
-
time 常用 文件
#include struct tm *localtime(const time_t *timep);struct tm { int tm_sec; /* seconds */原创 2011-08-12 11:29:56 · 724 阅读 · 1 评论 -
UDP 聊天室实现 经典错误
//服务器端#include "Header.h"typedef struct{ char name[10]; SA_IN address;}USER;//XXX :用户链表typedef struct Hnode_list{ USER原创 2011-08-26 17:27:28 · 509 阅读 · 0 评论 -
广播,组播的实现
组播的实现 memset(&addr_server,0,sizeof(addr_server)); addr_server.sin_family=PF_INET; addr_server.sin_addr.s_addr=htonl(INADDR_ANY);//第一步需要原创 2011-08-26 17:22:13 · 616 阅读 · 0 评论 -
百度辞典单机版,qt项目
http://dict.baidu.com/s?wd=bee原创 2011-08-28 15:17:52 · 416 阅读 · 0 评论 -
signal & sigaction
signal函数每次设置具体的信号处理函数(非SIG_IGN)只能生效一次,每次在进程响应处理信号时,随即将信号处理函数恢复为默认处理方式.所以如果想多次相同方式处理某个信号,通常的做法是,在响应函数开始,再次调用signal设置,如下图:int sig_int(); //M原创 2011-08-29 12:55:46 · 601 阅读 · 0 评论 -
c 语言去除数组中指定的数字
#include int arr[]={1,2,3,4,5,6,4,4,7,4};int delNum=4;int main(void){ int i,j; int len=sizeof(arr)/4; for(i=0;i<len;i++)原创 2011-09-28 22:41:30 · 3910 阅读 · 3 评论 -
C 语言随机数获取
首先来看如何获取代码:#include #include #include int main(void){ int i; srand((unsigned)time(0)); for(i=0;i<100;i++) { printf("原创 2011-10-10 09:51:39 · 929 阅读 · 0 评论 -
sigprocmask系统调用
sigprocmask系统调用功能描述:设定对信号屏蔽集内的信号的处理方式(阻塞或不阻塞)。用法:#include signal.h>int sigprocmask(int how,const sigset_t*set, sigset_t*oldset);参数:how:用于指定信号修改的方式,可能选择有三种SIG_BLOCK //加入原创 2011-10-25 20:16:40 · 536 阅读 · 0 评论 -
dup2 函数
函数简介 函数名: dup2 功 能: 复制文件句柄用 法: int dup2(int oldhandle, int newhandle);程序例: #include #include #include #include int main(void) { #define STDOUT 1转载 2011-10-25 20:44:05 · 557 阅读 · 0 评论 -
C 语言使用特定字符分割字符串
#include #include int main(void){char cmd[]="data_monitor -d 0";char argv[16][128] ; //设置最大命令包含参数个数为15int cmd_count=1;char *delim=" ";char *tmpstr;printf("[%s]",tmpstr=strtok(cm原创 2011-10-26 12:23:31 · 627 阅读 · 0 评论 -
TCP ftp服务器模型 《超经典》
//header.h#include #include #include #include #include #include #include #include #include #include #include #define BUF原创 2011-08-25 22:52:37 · 1039 阅读 · 0 评论 -
linux c 改变控制台输出字体颜色
#include int main(void){ printf("\033[22;32madmin"); //输出红色文字admin printf("\033[22;30m");//恢复黑色 return 0;}原创 2011-08-25 08:51:31 · 1747 阅读 · 0 评论 -
并发服务器 典型模型
#include "header.h"#define MAXBUF 1024typedef struct sockaddr SA;void child_function(int connect_fd);void child_function(int c原创 2011-08-25 22:47:46 · 393 阅读 · 0 评论 -
LINUX C 获取文件类型 以及访问权限
#include #include #include #include #include #include #include #include #include #include #include //这是header.h///////原创 2011-08-12 11:38:14 · 6605 阅读 · 1 评论 -
检测子进程的结束返回状态
子进程的结束状态返回后存于status,底下有几个宏可判别结束情况WIFEXITED(status)如果子进程正常结束则为非0值。WEXITSTATUS(status)取得子进程exit()返回的结束代码,一般会先用WIFEXITED 来判断是否正常结束才能使用此宏。转载 2011-08-15 21:38:21 · 1312 阅读 · 0 评论 -
c 语言 解析ini文件为xml
/* 解析ini文件 */#include #include int main(void) { FILE *fp_in, *fp_out; if ((fp_in = fopen("host.ini", "r")) == NULL) {原创 2011-08-15 21:45:19 · 485 阅读 · 0 评论 -
linux c 创建守护进程
#include #include #include #include int init_daemon(void) { pid_t pid; int i; FILE *fp; time_t mytime; pid = fork();原创 2011-08-16 20:10:22 · 538 阅读 · 0 评论 -
vfork为什么会出现死循环
#include #include #include int main(void){ pid_t id; id=vfork(); if(id==-1) return -1; if(id==0) { printf("%d:原创 2011-08-16 13:48:45 · 987 阅读 · 0 评论 -
linux C 主线成与子线程参数传递
#include #include void* fun(void* arg){ printf("======[%d]====\n",(int)arg); pthread_exit((void*)22);}int main(voi原创 2011-08-19 07:57:48 · 1485 阅读 · 0 评论 -
feof()和EOF的用法—— C中文件结尾的判断
查看 stdio.h 可以看到如下定义:#define EOF (-1)#define _IOEOF 0x0010 #define feof(_stream) ((_stream)->_flag & _IOEOF)由此可以看出,这两种方式的原理是不同的转载 2011-09-14 08:35:58 · 1075 阅读 · 0 评论 -
不包含全头文件的后果相当严重
#include #include #include #include #include //#include //BUG//#include //BUGint main(void){ int socketfd,socketfd_ser原创 2011-08-22 18:34:39 · 761 阅读 · 0 评论 -
多路复用 循环服务器模型
#include "header.h"typedef struct sockaddr SA;#define MAXLINE 1024int main(void){ int listen_fd,connect_fd; struct sockaddr_in server原创 2011-08-25 22:45:58 · 550 阅读 · 0 评论 -
去 字符串中掉所有的空格
void alltrim(char *str)// 去掉所有的空格{ int i,j=0; char sp[512]; for (i = 0; *(str + i) != '\0'; i++) { if (*(str + i) == ' ' ) continue; sp[j++]=*(str + i); } sp[j] = 0; strcpy(str原创 2011-11-01 15:55:55 · 492 阅读 · 0 评论