首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C標準庫stdio.h:輸入輸出、文件操作、流控制完全指南

     編輯:關於C語言

C標準庫stdio.h:輸入輸出、文件操作、流控制完全指南

標準流操作

函數功能流
getchar()從stdin讀一字符stdin
putchar(c)向stdout寫一字符stdout
getc(fp)從流fp讀一字符任意
putc(c, fp)向流fp寫一字符任意
fgetc(fp)函數版getc任意
fputc(c, fp)函數版putc任意

getc/putc常為宏,fgetc/fputc保證為函數(可取地址、無副作用陷阱)。

文件打開模式

模式含義
"r"只讀,文件必須存在
"w"只寫,截斷/創建
"r+"讀寫,文件必須存在
"w+"讀寫,截斷/創建
"a"追加寫,創建
"a+"追加讀寫,創建
"b"二進制模式(Windows區分換行符)

文件操作核心流程


塊 I/O:fread / fwrite

fseek(fp, 0, SEEK_END);      // 移至文件末尾
long size = ftell(fp);       // 獲取文件大小
fseek(fp, 5, SEEK_SET);      // 從開頭偏移5字節
fputs("X", fp);              // 修改第6字節
rewind(fp);                  // 回到開頭

SEEK_SET開頭,SEEK_CUR當前,SEEK_END末尾(負偏移)。

完整示例:鍵盤輸入存文件再讀出


錯誤處理模式


總結

stdio.h提供分層IO抽象:
• 字符級:getc/putc/fgetc/fputc
• 行級:fgets/fputs/gets(棄用)/puts
• 格式化:fprintf/fscanf/printf/scanf
• 塊級:fread/fwrite
• 定位:fseek/ftell/rewind
掌握模式字符串、EOF/錯誤檢查、文本vs二進制差異,是文件處理基礎。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved