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

C語言文件操作基礎:標準 I/O、二進制塊讀寫、目錄遍歷與結構體文件存取

     編輯:關於C語言

標準 I/O 流

程序啟動自動打開 stdin(0)、stdout(1)、stderr(2)。

文件指針操作

FILE* fp = fopen("data.txt", "rb+"); // 二進制讀寫
if (!fp) { perror("fopen"); return 1; }
fclose(fp);

模式:r/w/a 及 +/b 組合。a/a+ 追加模式適合多進程寫入保證數據完整性。

行讀寫

char line[1024];
while (fgets(line, sizeof(line), fp)) { /* 處理 */ }
fputs("輸出行\n", fp); // 不自動換行

二進制塊讀寫

typedef struct { char id[5]; char name[20]; double score; } STUDENT;
STUDENT stu[3] = {{"0001","趙軍",89}, ...};
fwrite(stu, sizeof(STUDENT), 3, fp);
rewind(fp);
fseek(fp, sizeof(STUDENT), SEEK_SET); // 跳過第一條
fread(&stu2, sizeof(STUDENT), 1, fp);

目錄操作

DIR* dp = opendir(".");
struct dirent* ep;
while ((ep = readdir(dp))) {
    printf("%s\n", ep->d_name);
}
closedir(dp);

完整示例:模擬 ls -l

遍歷目錄,用 stat 獲取文件屬性,解析權限位輸出 drwxr-xr-x 格式,格式化時間輸出。代碼見原文 myls.c。

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