C语言(linux/unix/AIX)
文章平均质量分 69
qzwujiaying
计算机专业
展开
-
xml解析处理 自己的笔记而已
#include /**编码转换函数***/char *ConvertEnc(char *encFrom, char *encTo, const char * in){ static char bufin[1024], bufout[1024], *sin, *sout;/**静态局部变量**/ int mode, lendin, lenout, ret, nline; iconv_t c_pt; if( (c_pc = iconv_open(encTo, encFrom) ) == (iconv_t) -原创 2010-08-20 16:30:00 · 740 阅读 · 0 评论 -
金额字段加千位分隔符
/*=========================================================================给金额字段加千位分隔符 =转载 2011-10-09 09:08:24 · 3603 阅读 · 0 评论 -
fopen /open,read/write和fread/fwrite区别
fopen /open区别UNIX环境下的C 对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, write这里简单的介绍一下他们的区别。1. fopen 系列是标准的C库函数;open系列是 POSIX 定义的,是UNIX系统里的system call。也就是说,fopen系列更具有可移植性;而open系列只能用在 POSIX 的转载 2011-06-25 16:36:00 · 598 阅读 · 0 评论 -
linux 共享内存的使用
<br />使用共享内存的目的:<br /> 共享内存共享内存是进程间通信中最简单的方式之一。<br /> 共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针。<br /> 当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。<br />使用共享内存的流程:<br /> 1.进程必须首先分配它。<br /> 2.随后需要访问这个共享内存块的每一个进程都必须将这个共享内存绑定到自己的地址空间中。<br /> 3.当完成通信之后,原创 2011-05-09 17:23:00 · 4325 阅读 · 0 评论 -
linux 下 打印日志函数
<br />int milltime(char *str,char *fmt1);<br />static errlog (char *File, char * Info);<br />void Elog (char *FILE,int Line,int iGroup,char *fmt,... );<br />#define log __FILE__, __LINE_<br /> <br /> <br />/***********************************************原创 2010-12-30 15:24:00 · 1936 阅读 · 0 评论 -
c 函数不定参数(不限参数)使用实例 不定参数输出函数
/**函数名: vprintf 功 能: 送格式化输出到stdout中 用 法: int vprintf(char *format, va_list param); 程序例: **/#include #include int vpf(char *fmt, ...) { va_list argptr; int cnt; va_start(argptr, fmt); cnt = vprintf(fmt, argptr); va_end(argptr); return(cn原创 2010-12-24 11:17:00 · 1019 阅读 · 0 评论 -
Zh_CN.GB18030 判断是否为中文
国家标准GB18030-2000《信息交换用汉字编码字符集基本集的扩充》是我国继GB2312-1980和GB13000-1993之后最重要的汉字编码标准,是我国计算机系统必须遵循的基础性标准之一。 标准采用单字节、双字节和四字节三种方式对字符编码。 单字节部分采用GB/T 11383的编码结构与规则,使用0×00至0×7F码位(对应于ASCII码的相应码位)。 双字节部分,首字节码位从0×81至0×FE,尾字节码位分别是0×40至0×7E和0×80至0×FE。 四字原创 2010-09-28 16:54:00 · 6890 阅读 · 0 评论 -
Linux动态库、静态库加载基础
Linux动态库、静态库加载基础(网络资料整理)静态库: 对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file),即将动态库内容拷贝到自己需要的程序中,所以程序在运行时,与函数库再无瓜葛,所以这些函数库被成为静态库(static libaray),通常文件名为“libxxx.a”的形式。 在linux环境中, 使用ar命原创 2010-09-20 09:12:00 · 1971 阅读 · 0 评论 -
gcc warning: incompatible implicit declaration of built-in function
warning的原因是没有include相应的头文件,所以,解决办法就是把warning的function所对应的库文件包含进来。 man +函数会列出exit属于哪个头文件,然后include进去就行了。原创 2010-09-19 13:05:00 · 1047 阅读 · 0 评论 -
libmysqlclient.so.15: cannot open shared object file: No such file or directory
libmysqlclient.so.15: cannot open shared object file: No such file or directory2010-03-11 13:32昨天写了一小段测试MySQL的C代码,编译顺利,但运行时报告找不到库,系统是FC4,MySQL是直接下载的Binary:# gcc test_mysql.c -o test_mysql -L/usr/local/mysql/lib -lmysqlclient#./test_mysql: error while loadi原创 2010-09-17 15:02:00 · 1141 阅读 · 0 评论 -
socket 简单实例2.客户端代码
#include#include#include#include#include#include#include#define MAXDATASIZE 100 /*max number of bytes we can get once*/int main(int argc,char *argv[]){ int sockfd,numbytes; char buf[MAXDATASIZE]; struct hostent *he; struct sockaddr_in their_addr; /*connect原创 2010-08-25 22:41:00 · 539 阅读 · 0 评论 -
socket 简单实例1.服务器代码
#include#include#include#include#include#include#include#include#define BACKLOG 100main(){ int sockfd,new_fd; struct sockaddr_in my_addr; /*my address information*/ struct sockaddr_in their_addr; /*connector's address information*/ int sin_size; if((sockfd原创 2010-08-25 22:40:00 · 501 阅读 · 0 评论 -
c 去除字符串前后空格
void ltrim(char *dstr,char *sstr){ int i; char tmp[4096]; strcpy(dstr,sstr); for (i=0;dstr[i]==' ';i++); strcpy(tmp,dstr+i); strcpy(dstr,tmp);}void rtrim(char *dstr,char *sstr){ int i; strcpy(dstr,sst原创 2010-08-21 23:10:00 · 3718 阅读 · 0 评论 -
EditPlus 快捷键
EditPlus 快捷键文件FileFtpUpload Ctrl+Shift+S 上传文件到 FTP 服务器FileNew Ctrl+N 新建普通的文本文档FileNewHtml Ctrl+Shift+N 创建一个空白的 HTML 页面FileNewBrowser Ctr转载 2012-02-17 14:37:56 · 665 阅读 · 0 评论