
linux 下 C/C++
sq_Mark
各位技术达人,相互学习,共同进步!!
展开
-
fp = popen( unmountpath, "r");
fp = popen( unmountpath, "r");打开管道给文件符 fp ,同时执行该语句原创 2013-03-14 14:26:08 · 606 阅读 · 0 评论 -
文件描述符和文件流之间的转换
FILE *fdopen(int fildes, const char *type); 这个函数很有用的,功能是将一个流关联到一个打开的文件号filedes上, 该filedes可以是open、pipe、dup、dup2和creat等调用返回的结果 type指定流打开方式,同fopen的打开方式,如"a", "r","w"等等 fdopen的流打开方式服从f原创 2013-03-26 10:25:01 · 1046 阅读 · 0 评论 -
%%百分号,coreleft, sbrk,\ 加执行命令,父子进程
* %%百分号 两个连续的%号,字符串输出为一个%号* coreleft 函数名: coreleft 功 能: 返回未使用内存的大小 用 法: unsigned coreleft(void); 程序例: #include #include int main(void) { printf("The difference betwee原创 2013-03-26 10:27:25 · 749 阅读 · 0 评论 -
C 中用printf格式化输出
* C 中用printf格式化输出 还有一种容易掌握和使用的格式化输出函数,那就是printf,它与C语言中的printf基本上是相同的。printf有两个参数,一个是字符串,其中含有一个或多个域值形式,另一个是与各域值相对应的变量值按一定格式替换,如:printf("The number I want to print is %d.\\n", $number);各种域值形式如下表:原创 2013-03-26 10:29:18 · 883 阅读 · 0 评论 -
服务器关了已经连接的客户端socket_fd,客户端做出的反应过程
服务器关了已经连接的客户端socket_fd,客户端做出的反应过程 (2008-07-21 10:27) 服务端关闭已连接客户端,客户端接着发数据产生问题, 1. 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写原创 2013-03-25 15:02:10 · 1512 阅读 · 0 评论 -
结合rpm,rpm2cpio,cpio提取rpm包的特定文件
结合rpm,rpm2cpio,cpio提取rpm包的特定文件 昨天不小心把/etc/mail/sendmail.mc修改坏了,又没有备份最原始的文件,于是想到重新从rpm包中提取出来。 首先,要确定/etc/mail/sendmail.mc属于哪个rpm包:[root@pps tmp]# rpm -qf /etc/mail/sendmail.mcsendmail-8.13.转载 2013-03-25 15:08:02 · 483 阅读 · 0 评论 -
关于SIGPIPE导致的程序退出
关于SIGPIPE导致的程序退出 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。 根据信号的默认处理规则SIGPIPE信号的默认执行动作是terminate(终止、退出),所以client会退出。若不转载 2013-03-25 15:05:28 · 508 阅读 · 0 评论 -
SO_REUSEADDR
SO_REUSEADDR 设置套接字选项为SO_REUSEADDR,socket可重用,经常在socket通信时进行设置 //设置套接字选项为SO_REUSEADDR,即socket可重用 opt=SO_REUSEADDR; setsockopt(listenfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt)); :编写 TCP/S转载 2013-03-20 14:02:36 · 620 阅读 · 0 评论 -
SIGCHLD信号与SIG_IGN处理的使用
SIGCHLD信号与SIG_IGN处理的使用今天查一下问题,查了很久,终于解决了。有一些心得与大家分享。 signal(SIGCHLD, SIG_IGN); //忽略SIGCHLD信号,这常用于并发服务器的性能的一个技巧//因为并发服务器常常fork很多子进程,子进程终结之后需要//服务器进程去wait清理资源。如果将此信号的处理方式设为//忽略,可让内核把僵尸子进程转交给转载 2013-03-20 14:01:05 · 698 阅读 · 0 评论 -
setbuf
setbuf 函数名: setbuf 功 能: 把缓冲区与流相联 用 法: void setbuf(FILE *steam, char *buf); 说明:setbuf函数具有打开和关闭缓冲机制。为了带缓冲进行I/O,参数buf必须指向一个长度为BUFSIZ(定义在stdio.h头文件中)的缓冲区。通常在此之后该流就是全缓冲的,但是如果该流与一个终端设备相关,那么某些原创 2013-03-20 14:00:06 · 528 阅读 · 0 评论 -
S_ISREG等几个常见的宏
S_ISREG等几个常见的宏标签:s_islnks_isregs_isdiritS_ISLNK(st_mode):是否是一个连接.S_ISREG是否是一个常规文件.S_ISDIR是否是一个目录S_ISCHR是否是一个字符设 备.S_ISBLK是否是一个块设备S_ISFIFO是否 是一个FIFO文件.S_ISSOCK是否是一个SOCKET文件转载 2013-03-20 13:57:09 · 1199 阅读 · 0 评论 -
lstat linux
lstat目录 lstat函数 返回说明 程序例 文件类型 示例 编辑本段lstat函数 函数名: lstat 功 能: 获取一些文件相关的信息 用 法: int lstat(const char *path, struct stat *buf); 参数: path:文件路径名。转载 2013-03-20 11:21:25 · 1069 阅读 · 0 评论 -
strerror 线程全局变量 转换成 char* 信息
把错误码转换成 char* 信息strerror(errno); 使用静态char* 返回若多个线程共同操作一个全局变量,会覆盖先前的信息,逻辑出错strerror(errno,str,sizeof(str));手动申请str 传到 strerror_r 里不会出现覆盖内容的错误原创 2013-03-14 15:17:09 · 429 阅读 · 0 评论 -
rewind
函数名: rewind 功 能: 将文件内部的位置指针重新指向一个流(数据流/文件)的开头 注意:不是文件指针而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变。 rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET);[1] 用 法: void原创 2013-03-26 10:25:43 · 787 阅读 · 0 评论