代码改变世界

随笔分类 -  c/c++

httpsqs 源码修改(内部自动复制多队列)

2017-12-21 16:02 by 夏洛克·福尔摩斯, 574 阅读, 收藏, 编辑
摘要: /* HTTP Simple Queue Service - httpsqs v1.7 Author: Zhang Yan (http://blog.s135.com), E-mail: net@s135.com This is free software, and you are welcome to modify and redistribute it under the New BSD L... 阅读全文

笔记3 linux 多线程 条件变量+互斥锁

2015-09-25 16:24 by 夏洛克·福尔摩斯, 249 阅读, 收藏, 编辑
摘要: //cond lock#include#include#includestruct test{ char a[10]; char b[10]; char c[10];}yb = {"111","222","33333"};static int j=0;pthread_mutex_t... 阅读全文

笔记2 linux多线程 读写锁

2015-09-25 15:10 by 夏洛克·福尔摩斯, 352 阅读, 收藏, 编辑
摘要: //read write lock#include#include#includestruct test{ char a[10]; char b[10]; char c[10];}yb = {"111","222","33333"};static int j=0;pthread_r... 阅读全文

笔记1 linux 多线程 互斥锁

2015-09-25 15:09 by 夏洛克·福尔摩斯, 248 阅读, 收藏, 编辑
摘要: //mutex lock#include#include#includestruct test{ char a[10]; char b[10]; char c[10];}yb = {"111","222","33333"};static int j=0;pthread_mutex_... 阅读全文

linux fork两次避免僵尸进程的程序(简单)

2015-09-23 11:20 by 夏洛克·福尔摩斯, 420 阅读, 收藏, 编辑
摘要: #include#includeint main(){ pid_t pid,pid1; int status; if( (pid = fork())<0) { printf("fork error\n"); return -1; } e... 阅读全文

select应用于read函数 超时非阻塞方式

2015-09-18 16:32 by 夏洛克·福尔摩斯, 3008 阅读, 收藏, 编辑
摘要: /* * "Timed" read - timout specifies the # of seconds to wait before * giving up (5th argument to select controls how long to wait for * data to be re... 阅读全文

取文本索引所执向的值(简单)

2015-09-18 15:41 by 夏洛克·福尔摩斯, 325 阅读, 收藏, 编辑
摘要: 文本如下:yb.txt AA 23BB 32CC 22代码如下:#include#define CHAR_LEN 20 char *scan_config(char *keyword){ int n,match; FILE *fp; char keybuf[CH... 阅读全文

linux c函数指针的应用

2015-09-14 11:16 by 夏洛克·福尔摩斯, 737 阅读, 收藏, 编辑
摘要: 头文件:1.h#includeint nul_func();int test1(int a,int b); int test2(int a,int b,int c); int test3(int a,int b,int c,int d); int GetFunc(char *p,int (**pfu... 阅读全文

解决vsftp无法启动问题(转)

2015-08-28 10:23 by 夏洛克·福尔摩斯, 2585 阅读, 收藏, 编辑
摘要: [root@node11 ~]# service vsftpd restartShutting down vsftpd: [FAILED]Starting vsftpd for vsftpd: [FAILED][root@D11 ~]#经过一系列测试,发现21端口被占用(看21端口被哪个进程占用)[... 阅读全文

Could not chdir to home directory /home/USER: Permission denied

2015-08-12 17:23 by 夏洛克·福尔摩斯, 8054 阅读, 收藏, 编辑
摘要: Could not chdir to home directory /home/USER: Permission denied2 years agodavidzhangWe changed the home folder to /data/home/USER.When I ssh to our ce... 阅读全文

sscanf和正则表达式

2015-07-23 16:54 by 夏洛克·福尔摩斯, 727 阅读, 收藏, 编辑
摘要: sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]...... 阅读全文

存储过程重置SEQUENCE值从新开始。

2015-07-20 14:00 by 夏洛克·福尔摩斯, 565 阅读, 收藏, 编辑
摘要: CREATE OR REPLACE PROCEDURE RESET_SEQUENCE( v_SeqName IN VARCHAR2, v_sqlcode OUT NUMBER, v_sqlerrm OUT VARCHAR2)IS Num ... 阅读全文

linux 环境NTP配置与开机自启动(转)

2014-11-18 20:43 by 夏洛克·福尔摩斯, 11307 阅读, 收藏, 编辑
摘要: Linux下配置NTP服务器一、前言:默认NTP服务端口:UDP/123本文配置的NTP工作模式:使用client/server方式,该方式适用于一台时间服务器接收上层时间服务器的时间信息,并提供时间信息给下层用户。二、配置方法:1、ntp服务安装NTP服务在RHEL5.x中式默认安装的软件包,可用... 阅读全文

linux下iconv()函数的用法(转载并修改)

2014-11-12 16:24 by 夏洛克·福尔摩斯, 702 阅读, 收藏, 编辑
摘要: linux shell 配置文件中默认的字符集编码为UTF-8 。UTF-8是unicode的一种表达方式,gb2312是和unicode都是字符的编码方式,所以说gb2312跟utf-8的概念应该不是一个层次上的。在LINUX上进行编码转换时,可以利用iconv命令实现,这是针对文件的,即将指定文... 阅读全文

ORACLE PROC开发(转载)

2014-11-04 10:27 by 夏洛克·福尔摩斯, 2221 阅读, 收藏, 编辑
摘要: Proc也就是嵌入式C,与informix的ESQ/C有类似之处,本部分主要列出Proc与Esql的区别,相同部分请参见informix部分。1.数组功能Proc中支持使用宿主变量数组一次查询SELECT/插入INSERT多条记录。在某些情况下非常有用,但不具有移植性。2.sqlca通讯区结构str... 阅读全文

僵尸进程讲解以及如何处理僵尸进程

2014-08-25 16:36 by 夏洛克·福尔摩斯, 1439 阅读, 收藏, 编辑
摘要: #include #include #include #include int main(void) { pid_t pid; if ((pid = fork()) 0) exit(0); /* parent from second for... 阅读全文

将缓冲区的数字字符串转化成BCD码数据_INT PubNumericToBCDStr(_UCHR *pcNStr, _INT iNLen, _UCHR *pcBCDStr)

2014-03-21 15:34 by 夏洛克·福尔摩斯, 318 阅读, 收藏, 编辑
摘要: INT PubNumericToBCDStr(_CHR *pcNStr, _INT iNLen, _CHR *pcBCDStr){ _UCHR *pN = pcNStr; _UCHR *pB = pcBCDStr; _UCHR caBuffer[2]; _UCHR cHigh, cLow; _UINT iCount = 0; _UINT iNCount = iNLen / 2 + iNLen % 2; if((pcNStr == NULL) || (pcBCDStr == NULL)) { sprintf(g_caMsg,"[%s:... 阅读全文

dup和dup2详解

2013-10-14 18:50 by 夏洛克·福尔摩斯, 1099 阅读, 收藏, 编辑
摘要: C语言中dup和dup2函数的不同和使用发表时间: 2012年11月15日|作者: 陈杰斌|所属分类:C语言|评论: 0|浏览: 1024在unix高级编程中有介绍dup和dup2,但是没有实例说明, 笔者自己结合实例进行了测试了解。在linux下,通过open打开以文件后,会返回一个文件描述符,文件描述符会指向一个文件表,文件表中的节点指针会指向节点表。看下图:打开文件的内核数据结构dup和dup2两个函数都可以用来复制打开的文件描述符,复制成功后和复制源共享同一个文件表。看下图:执行dup后的内核数据结构dup函数dup(现存的文件描述符)dup返回的新文件描述符一定是当前可以用描述符中的 阅读全文

创建或者连接管道+++检查管道空间是否够写入本消息++++删除管道

2013-07-25 12:03 by 夏洛克·福尔摩斯, 241 阅读, 收藏, 编辑
摘要: /**函数名:nFIFOOpen功能 :创建或者连接管道参数 : nFIFOKey 关键字返回值: -1 失败 >0的数 管道描述符号注意: 管道实现忽略size参数**/ int nFIFOOpen(int nFIFOKey){ if(nFIFOKey <= 0) { return -1; } int fd; int iRc; struct stat st; char sFifoName[128]; /****MSGIN FIFO ****/ memset... 阅读全文

从instr中截取第一个delimiter之前的内容放到outstr中,返回第一个delimiter之后的位置

2013-07-25 10:53 by 夏洛克·福尔摩斯, 324 阅读, 收藏, 编辑
摘要: 从instr中截取第一个delimiter之前的内容放到outstr中,返回第一个delimiter之后的位置char *msstrtok(char *instr, char *outstr, char *delimiter){ char *tmpstr; if(memcmp(instr, delimiter, strlen(instr))==0){ return(NULL); } if(instr==NULL || strlen(instr)==0){return(NULL);} tmpstr=strstr(instr,delimiter); if(tmpstr!=NULL... 阅读全文