錯誤定位
當一個庫函數出錯時,errno會被重置
perror(const char* s);\\輸出s: + errno 對應的錯誤信息
\\如果單獨想要錯誤信息可以
char* e = strerror(errno);\\系統錯誤碼轉換為對應的錯誤信息字符串
輸出緩沖區
一般輸出緩沖區滿的時候才刷新,也就是顯示到屏幕上。但是有的輸出我們可能希望立即刷新。
printf("do something");
fflush(stdout);\\立即刷新,不管是否輸出緩沖區滿
FILE
1、這是一個數據結構,用于訪問一個流。不要和文件混淆。
2、一個程序至少有三個流,標準輸出流stdout,標準輸入流stdin,標準錯誤流stderr.他們都對應一個指向FILE結構的指針。標準流不需要打開和關閉。
3、fopen 和 fclose用于打開/關閉一個流。通常是文件的操作,即當我們需要處理一個文件時,我們會打開一個對應的流,返回FILE*。
常見IO操作
1、只用于stdout,stdin的輸入輸出(隱含使用了這兩個流)
getchar();putchar();\\輸入輸出字符
gets();puts();\\輸入輸出一行
scanf();printf();\\格式輸入輸出。
2、適用所有流的
fgetc();fputc();
fgets();gputs();
fscanf();fprintf();