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()               //每次讀/寫若干個對象,而每個對象具有相同的長度

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章