一、系統調用和函數調用
(一)、系統調用依賴於系統,函數庫不依賴於系統(二)、系統調用無緩衝區,函數庫有緩衝區
(三)、圖釋:
(四)、緩衝區類型:1、全緩衝(全部到緩衝區) 2、行緩衝
(五)、相關API:
1、sprintf(msg,"%d:%s:%s:%s",id,name,tel,addr);
將內容注入msg
fprintf(stdout,"%d:%s:%s:%s:%c",id,name,tel,addr,'\n');
將內容輸出至終端
fgets(msg,sizeof(msg),stdin); 從終端上獲取數據
printf("msg = %s\n",msg);
或者fputs(msg,stderr); stderr出錯處理
2、read(0,buf,sizeof(buf));
printf("buf = %s\n",buf);
write(1,buf,sizeof(buf)); 打印至終端
write(2,buf,sizeof(buf)); 打印至終端(可出錯處理)
1和2代表的是參數類型
1:STDIN_FILENO 2:STDOUT_FILENO
包括的頭文件爲: #include <unistd.h>
3、綜合:對普通文件的操作,儘量用庫函數做。其他文件用系統調用