摘要: popen()函数原型如下: FILE *popen(const char *cmd,const char *type); 返回值:若成功返回文件指针,出错则返回NULL功能:创建一个管道,fork一个子进程,接着关闭管道的不使用端,子进程执行cmd指向的应用程序或者命令。执行完该函数后父进程和子进程之间生成一条管道,函数返回值为FILE结构指针,该指针作为管道的一端,为父进程所拥有。子进程则拥有管道的另一端,该端口为子进程的stdin或者stdout。如果type=r,那么该管道的方向为:子进程的stdout到父进程的FILE指针;如果type=w,那么管道的方向为:父进程的FILE指针到子 阅读全文
posted @ 2013-03-10 17:44 ITtecman 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 自百度百科ctype.h里的函数概况1 字符测试函数1> 函数原型均为int isxxxx(int)2> 参数为int, 任何实参均被提升成整型3> 只能正确处理处于[0, 127]之间的值2 字符映射函数1> 函数原型为int toxxxx(int)2> 对参数进行检测, 若符合范围则转换, 否则不变int tolower(int); 'A'~'Z' ==> 'a'~'z'int toupper(int); 'a'~'z' ==> 'A'~ 阅读全文
posted @ 2013-03-10 16:12 ITtecman 阅读(274) 评论(0) 推荐(0) 编辑
摘要: http://zh.wikipedia.org/wiki/C_%E6%A8%99%E6%BA%96%E5%87%BD%E5%BC%8F%E5%BA%AB 阅读全文
posted @ 2013-03-10 15:51 ITtecman 阅读(172) 评论(0) 推荐(0) 编辑
摘要: stdint.h(自百度百科)一,是什么stdint.h是c99中引进的一个标准C库的头文件.二、干什么stdint.h中定义了一些整数类型,规则如下(其中N可以为8,16,32,64)intN_t, int_leastN_t, int_fastN_t表示长度为N位的整型数;uintN_t, uint_leastN_t, uint_fastN_t表示长度为N位的无符号整型数 ;stdint.h中的常量,定义以上各类型数的最大最小值(其中N可以为8,16,32,64)INTN_MIN, UINTN_MIN, INTN_MAX, UINTN_MAX ;INT_LEASEN_MIN, INT_LEA 阅读全文
posted @ 2013-03-10 15:46 ITtecman 阅读(871) 评论(0) 推荐(0) 编辑
摘要: Makefile规则: 目标:依赖文件列表 <Tab>命令列表 Makefile中的假想目标:all、clean等。此处关于all要注意,当有多个相互独立的目标要同时产生时,需要将这些目标放在all:之后并作为Makefile文件的第一条语句。例如:我们有test.c 和test0.c ,现在我们要编写Makefile文件,使得执行make后产生可执行文件test和test0,如果我们只是简单的写作如下方式: test: test.c gcc -o test test.c 语句a test0: test0.c gcc... 阅读全文
posted @ 2013-03-10 15:35 ITtecman 阅读(205) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/CBDoctor/archive/2012/08/12/2634350.html基本概念:阻塞IO::socket 的阻塞模式意味着必须要做完IO 操作(包括错误)才会返回。非阻塞IO::非阻塞模式下无论操作是否完成都会立刻返回,需要通过其他方式来判断具体操作是否成功。IO模式设置:一般对于一个socket 是阻塞模式还是非阻塞模式有两种方式::方法1、fcntl 设置;方法2、recv,send 系列的参数。(读取,发送时,临时将sockfd或filefd设置为非阻塞)方法一、fcntl 函数可以将一个socket 句柄设置成非阻塞模式:flag 阅读全文
posted @ 2013-03-10 14:13 ITtecman 阅读(7940) 评论(0) 推荐(0) 编辑
摘要: http://xyp1222.blog.163.com/blog/static/123817465201132395410317/在unix系统调用中,标准输入描述字用stdin,标准输出用stdout,标准出错用stderr表示,但在一些调用函数,引用了STDIN_FILENO表示标准输入才,同样,标准出入用STDOUT_FILENO,标准出错用STDERR_FILENO.请问,他们有什么区别吗?1、 stdin等是FILE *类型,属于标准I/O,在<stdio.h>。 STDIN_FILENO等是文件描述符,是非负整数,一般定义为0, 1, 2,属于没有buffer的I/O, 阅读全文
posted @ 2013-03-10 13:50 ITtecman 阅读(2182) 评论(0) 推荐(1) 编辑
摘要: 导读:在linux中,/proc/sys/net/core/somaxconn这个参数,linux中内核的一个不错的参数somaxconn 看下其解析: 对于一个TCP连接,Server与Client需要通过三次握手来建立网络连接.当三次握手成功后, 我们可以看到端口的状态由LISTEN转变为ESTABLISHED,接着这条链路上就可以开始传送数据了. 每一个处于监听(Listen)状态的端口,都有自己的监听队列.监听队列的长度,与如下两方面有关: - somaxconn参数. - 使用该端口的程序中listen()函数. 1. 关于somaxconn参数: 定义了系统中每一个... 阅读全文
posted @ 2013-03-10 13:37 ITtecman 阅读(1254) 评论(0) 推荐(0) 编辑
摘要: http://hi.baidu.com/wlwqs/item/47c411334e53a5ffdf222150intfstat(intfiledes,structstat*buf);intstat(constchar*path,structstat*buf);intlstat(constchar*path,structstat*buf);一眼就能看出来fstat的第一个参数是和另外两个不一样的,fstat区别于另外两个系统调用的地方在于,fstat系统调用接受的是一个“文件描述符”,而另外两个则直接接受“文件全路径”。文件描述符是需要我们用open系统调用后才能得到的,而文件全路经直接写就可以 阅读全文
posted @ 2013-03-10 13:19 ITtecman 阅读(1438) 评论(0) 推荐(0) 编辑
摘要: S_ISREG等几个常见的宏 转自:http://blog.csdn.net/abc78400123/article/details/7628174来自百度文库:http://wenku.baidu.com/view/31777dc1d5bbfd0a795673b1.htmlstat函数讲解:表头文件: #include <sys/stat.h>#include <unistd.h>定义函数: int stat(const char *file_name, struct stat *buf);函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体 阅读全文
posted @ 2013-03-10 13:11 ITtecman 阅读(3195) 评论(0) 推荐(0) 编辑
摘要: uint8_t,uint16_t,uint32_t数据类型http://peipengshuai.blog.163.com/blog/static/19012266201212313542392/在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型啊!怎么又是u又是_t的?很多人有这样的疑问。论坛上就有人问:以*_t结尾的类型是不是都是long型的?在baidu上查一下,才找到答案,这时才发觉原来自己对C掌握的太少。那么_t的意思到底表示什么?具体的官方答案没有找到,不过我觉得有个答案比 阅读全文
posted @ 2013-03-10 12:52 ITtecman 阅读(670) 评论(0) 推荐(0) 编辑
摘要: [转]#ifndef#define#endif的用法(整理) 原作者:icwk 文件中的#ifndef头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的:#ifndef <标识> #define <标识> ...... ...... #endif <标识>在理论上来说可以是自由命名的,但每个头文 阅读全文
posted @ 2013-03-10 12:43 ITtecman 阅读(387) 评论(0) 推荐(0) 编辑