linux之shell编程函数,IO编程

函数

在这里插入图片描述
$?代表返回值

函数变量作用域

默认是全局变量。如果你想它变成局部变量,就加一个 local后加空格加变量名

IO编程P149

文件类型

  • 常规文件 r

  • 目录文件 d

  • 字符设备文件 c

  • 块设备文件 b

  • 管道文件 p

  • 套接字文件 s

  • 符号链接文件 l

流 ——FILE结构体

  • 文本流

  • 二进制流

流的缓冲

  • 全缓冲

  • 行缓冲 遇到\n时,或和一个终端关联时

  • 无缓冲

P150

 FILE*fopen(const char *path,const char *mode)       //打开流,返回指针,出错返回NULL

流的打开方式:(b表示二进制,Linux忽略)

 #include <stdio.h>
 r      rb                        //只读,文件必须存在
 r+     r+b                       //读写,文件必须存在
 w      wb                        //只写,若文件存在,则清空文件,文件不存在则创建
 w+     w+b                       //读写
 a      ab                        //只写,若文件存在,则所写加文件末尾,文件不存在则创建
 a+     a+b                       //读写

在这里插入图片描述

umask                          //修改权限
extern int errno;              //errno存放错误号
void perror(const char *s);    //perror先输出字符串s,再输出错误号对应的错误信息
  

在这里插入图片描述

char *strerror(int errno);     //strerror根据错误号返回对应的错误信息

在这里插入图片描述

int fclose(FILE *stream)         //关闭流,调用:fclose();成功返回0,失败返回eof,并设置errno

按字符输入输出P151

读写流

fgetc(FILE *stream)/fputc(字符,文件)       //一次读/写一个字符 ,没有了返回EOF -1
fgets(FILE *stream)和fputs(str,length,FILE)//一次读/写一行
fread(FILE *stream)/fwrite()               //每次读/写若干个对象,而每个对象具有相同的长度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Kattlin_gsc/article/details/104279541