shell lab里的一些杂东西
程序员文章站
2022-07-12 12:18:17
...
-
dup2(1,2) 为什么这样能把stderr重定向到srdout
-
可变参数宏…与__VA_ARGS__
转载自 https://www.cnblogs.com/zhujudah/archive/2012/03/22/2411240.html. -
%% 打印出%本身
-
getopt函数(之前看了现在又忘了,赶紧补上)
#include <unistd.h>
extern char *optarg;
extern int optind, opterr, optopt;
int getopt(int argc, char * const argv[], const char *optstring);
1)argc、argv是调用main函数时传入的参数。传入的’-‘开始的字符被解析为选项,getopt一次执行解析出一个option,如果循环执行,可以将argv中的全部option解析出来;
2)在getopt的执行中,每次进入都会更新optind变量,该变量指向下一个argv参数;
3)如getopt返回-1,表示argv[]中的所有选项被解析出,optind指向第一个非选项的argument元素;
4)optstring指定选项合法的选项,一个字符代表一个选项,在字符后面加一个’:‘表示该选项带一个参数,字符后带两个’:‘表示该选项带可选参数(参数可有可无),若有参数,optarg指向该该参数,否则optarg为0;
5)如果getopt不能识别一个选项字符,它会打印一个错误消息到stderr上,并将该字符存放到optopt中,返回’?’;调用程序可以设置opterr=0设置不打印错误信息;
- int feof(FILE *stream);
检测流上的文件结束符,如果文件结束,则返回非0值,否则返回0(即,文件结束:返回非0值;文件未结束:返回0值)。 - int fflush(FILE *stream)
- 将缓冲区内的数据写回参数stream 指定的文件中。
上一篇: linux c文件编程
下一篇: linux c编程入门
推荐阅读