函数
$?代表返回值
函数变量作用域
默认是全局变量。如果你想它变成局部变量,就加一个 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() //每次读/写若干个对象,而每个对象具有相同的长度