c语言
lifan5
这个作者很懒,什么都没留下…
展开
-
消息队列不同进程之间通信
/*msglucy.c*/#include#include#include#include#include#include#include#include#include#define PROJID 0XFF#define LUCY 1#define PETER 2int mqid;void terminate_handler(int );原创 2012-05-10 19:52:05 · 667 阅读 · 0 评论 -
检测文件是否存在
#include #include #include int main(){int ret = 0;ret = access("/root/ict/****",F_OK);printf("ret is %d\n",ret);}原创 2013-04-01 10:23:52 · 786 阅读 · 0 评论 -
获取系统时间
int get_sys_time(char * timeinfo_p){ time_t rawtime; time(&rawtime); struct tm timeinfo; memcpy(&timeinfo,localtime(&rawtime),sizeof(struct tm)); sprintf(timeinfo_p, "%d-%02d-%02dT%02d:%02d:%02原创 2013-04-01 11:15:57 · 1061 阅读 · 0 评论 -
指针的指针的自己的理解
#include #include #include void change_value(char **value);int main (void){char *p1 = NULL;change_value(&p1);printf("p1 is %s\n",*(&p1));printf("p1 is %s\n",p1);free(p1);}原创 2013-06-03 19:48:23 · 525 阅读 · 0 评论 -
正则表达式30分钟入门教程
原文出处:http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html 目录跳过目录本文目标 如何使用本教程 正则表达式到底是什么东西?入门 测试正则表达式 元字符 字符转义 重复 字符类 分枝条件 反义 分组 后向引用零宽断言 负向零宽断言注释 贪婪与懒惰处理选项平转载 2013-06-05 08:57:50 · 641 阅读 · 0 评论 -
正则表达式实例(c语言)
#include #include #include int main(int argc,char**argv){ int status; int i; int cflags = REG_EXTENDED; regmatch_t pmatch[1]; const size_t nmatch =1 ; regex_t reg; const char * pattern="^[原创 2013-06-05 09:08:42 · 2111 阅读 · 0 评论 -
signal函数使用小实例
#include #include void sig_int(int sig) { printf("Catch a termination single.\n"); } int main() { signal(SIGINT, &sig_int); while(1) { printf("it is OK!\n"); sleep(1转载 2013-06-06 16:13:02 · 1160 阅读 · 0 评论 -
gdb调试加参数的程序
gdb 程序名set args 参数名r原创 2013-07-11 10:03:21 · 2030 阅读 · 0 评论 -
建立参数对应关系的小程序
/* * testparameter.c * * Created on: 2013-7-10 * Author: Administrator */#include #include #include #include "testparameter.h"static const struct paramater_table paramaters_table[]原创 2013-07-11 10:11:13 · 581 阅读 · 0 评论 -
c语言字符串的提取
/* * cutstring.c * * Created on: 2013-7-12 * Author: Administrator */#include #include #include char buf[]="HTTP/1.1 200 OK\Content-Type: text/html\Server: DynDNS-CheckIP/1.0\Connec原创 2013-07-12 14:23:05 · 4583 阅读 · 1 评论 -
C语言参数映射,通过一个参数查找对应的参数
/* * testparameter.c * * Created on: 2013-7-10 * Author: Administrator */#include #include #include #include "testparameter.h"static const struct paramater_table paramaters_table[] = { { "a", "apple"原创 2013-07-12 14:48:45 · 1889 阅读 · 0 评论 -
获取外网IP(一)(解包需要优化)
/* * getip.c * * Created on: 2013-7-11 * Author: Administrator */#include #include #include #include #include #include #include #include typedef enum { false, true} bool;int s原创 2013-07-12 15:48:12 · 3921 阅读 · 0 评论 -
获取外网IP(二)(未对返回做处理)
/* * getip.c * * Created on: 2013-7-11 * Author: Administrator */#include #include #include #include #include #include #include #include typedef enum { false, true} bool;int ma原创 2013-07-12 16:02:51 · 1041 阅读 · 0 评论 -
test ping
#include #include #include #include #include int checkConnect(char *dst, int cnt){ int i = 0; FILE *stream; char recvBuf[16] = {0}; char cmdBuf[256] = {0}; if (NULL == dst转载 2013-07-06 14:12:37 · 827 阅读 · 0 评论 -
使用 Socket 通信实现 FTP 客户端程序
http://www.ibm.com/developerworks/cn/linux/l-cn-socketftp/使用 Socket 通信实现 FTP 客户端程序FTP 客户端如 FlashFXP,File Zilla 被广泛应用,原理上都是用底层的 Socket 来实现。FTP 客户端与服务器端进行数据交换必须建立两个套接字,一个作为命令通道,一个作为数据通道。转载 2013-10-30 00:26:21 · 1375 阅读 · 0 评论 -
c语言实现查看进程是否存在
#include #include #include #include #include #include #include #define BUFSZ 150 void err_quit(char *msg) { perror(msg); exit(EXIT_FAILURE); } int main(int argc, char *argv[]) { F原创 2013-04-01 10:19:15 · 6619 阅读 · 0 评论 -
文本写入读取
#include#include#includeint main(void){FILE *fp_uploadtime = NULL;char buf[30]= "happy everyday!";char buf_des[30] = {0};fp_uploadtime = fopen("test_uploadtime","w+");fprintf(fp_uploadtime,"原创 2013-04-01 10:22:26 · 644 阅读 · 0 评论 -
进程间消息队列通信
要保证server能够接收client的消息,就必须保证server的生成的msg的标识符是一样的,也就是两个用的key是必须一样的。msgLucy.c#include#include#include#include#include#include#include#include#include#define PROJID 0XFF#define L原创 2012-05-21 20:03:20 · 735 阅读 · 0 评论 -
linux 消息队列实例
前言: 消息队列就是一个消息的链表。可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向其中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读走消息。函数:1.创建新消息队列或取得已存在消息队列原型:int msgget(key_t key, int msgflg);参数: key:可以认为是一个端口号,转载 2012-05-21 20:09:15 · 3352 阅读 · 2 评论 -
打印每一行的具体的行号的方法
printf("lib_get_value_callback%d\n",__LINE__);原创 2012-07-07 14:19:29 · 659 阅读 · 0 评论 -
初始化,申明变量
1, 定义一个结构体datatime_t nowhttp ={0};其他相同的路径下的.c可以extern datatime_t nowhttp;Memset(需要memset的地址,0,sizeof(类型))例如:memset(&nowhttp,0,sizeof(datatime_t));memcpy(目的地址,源地址,sizeof(类型))例如:datati原创 2012-03-13 19:26:06 · 775 阅读 · 0 评论 -
字符串指针申请空间,释放测试代码
#include #include #include int main(){char *str1;char *str2;int ret = 0;str1 = (char*)malloc(sizeof(char)*20);str2 = (char*)malloc(sizeof(char)*20);str1 = "hhhhh";/*free(str1会断错误,原创 2012-08-01 16:32:28 · 4079 阅读 · 0 评论 -
IO阻塞非阻塞. select
五种I/O 模式——阻塞(默认IO模式),非阻塞(常用语管道),I/O多路复用(IO多路复用的应用场景),信号I/O,异步I/OLinux下的I/O操作默认是阻塞I/O,即open和socket创建的I/O都是阻塞I/O非阻塞 I/O (可以通过fcntl或者open时使用O_NONBLOCK参数,将fd设置为非阻塞的I/O) //非阻塞模式,相当于告诉了系统内核: “当我请求转载 2012-08-22 15:37:55 · 963 阅读 · 0 评论 -
recv函数返回值说明
int recv( SOCKET s, char FAR *buf, int len, int flags);不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。该函数的第一个参数指定接收端套接字描述符; 第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据; 第三个参数指明buf的长度; 第四个参数一般置0。这里只描述同步Socket的recv函数的执转载 2012-08-22 15:28:41 · 736 阅读 · 0 评论 -
xml解析及编译汇总
#include #include #include #include #include #include void get_connnectrequestUrl(char *docname) { xmlDocPtr doc; xmlNodePtr cur; doc = xmlParseFile(docname); if (doc == NULL ) {原创 2012-09-29 00:05:35 · 2717 阅读 · 0 评论 -
修改文件指定位置
#include#include#include#define BUFFSIZE 100char sv[5]="5805";//./tdv1.5803 -d 1 -p tdPhy_1_3_2.pa -f $tar_freq -s $tar_paraidint update_set_freq(FILE *in){ char buff[100] = {0}; char *c转载 2012-10-29 21:33:37 · 723 阅读 · 0 评论 -
计算文件的大小
#include #include unsigned int filesize(FILE *fp){ unsigned int fSet,fEnd,filelen; fseek(fp,0,SEEK_SET); fSet = ftell(fp); fseek(fp,0,SEEK_END);原创 2012-10-29 21:51:52 · 931 阅读 · 0 评论 -
sqlite3事务和锁的实例
#include #include static int lib_get_value_callback(void *buf, int argc, char *argv[], char *column_name[]){ printf("argc:%d,%s argv[0]:%s,%s argv[1]:%s\n",argc,column_name[0],argv[0],column_n原创 2012-11-16 17:08:16 · 4075 阅读 · 0 评论 -
信号量sem_wait 线程信号量相关操作
SYNOPSIS #include int sem_init(sem_t *sem, int pshared, unsigned int value);//初始化信号量 int sem_wait(sem_t * sem);//等待信号,获取拥有权 int sem_trywait(sem_t * sem); i转载 2012-11-16 16:22:24 · 4053 阅读 · 0 评论 -
time_t时间的打印
time_t biggest = 0x7FFFFFF;printf("biggest = %s\n", ctime(&biggest));printf("biggest = %s\n", asctime(gmtime(&biggest)));为什么打印的是:biggest = Wed Apr 03 18:42:07 1974biggest = Wed Apr 03 10:42:07 1转载 2012-11-16 17:13:29 · 5903 阅读 · 0 评论 -
c语言实现urlencode和decode
http://www.cppblog.com/izualzhy/archive/2012/07/09/182456.html/* * ===================================================================================== * Filename: url_encode.cpp * Des转载 2013-03-14 10:02:53 · 14039 阅读 · 1 评论 -
eclipse搭建c语言开发环境
1,安装jdk,并配置好相关的环境变量,参考其他的wenzha原创 2014-06-17 19:36:28 · 1596 阅读 · 0 评论