編程學習網 > 編程語言 > C/C++開發 > c語言如何利用計算機編程處理文件?(c語言怎么操作文件)
2022
07-18

c語言如何利用計算機編程處理文件?(c語言怎么操作文件)

我們在工作中,經常會處理文件,如果一門編程語言不能處理文件,那這個語言就顯得比較雞肋了,今天我們來看看如何用C語言處理文件~

文件類型


C語言中,數據分為程序數據和普通數據,同樣的存儲這樣數據我們可以稱之為程序文件和數據文件。

程序文件:源文件(*.c),頭文件(*.h),目標文件(*.obj),可執行文件(*.exe)等等。

數據文件:文本文件(*.txt),二進制文件(*.bin)等等

文件操作



文件操作主要包括打開、關閉,輸入、輸出,文件指針定位,判斷文件讀寫結束等,這些都是一些函數,相對來說,比較簡單。

操作文件通過文件指針,類型為FILE *,下面主要通過實例來學習文件操作。

open & close



文件打開和關閉是兩個函數,所在頭文件是stdio.h:

FILE *fopen( const char *restrict filename, const char *restrict mode ); 

功能:打開filename所指示的文件,并返回指向關聯到該文件的文件流的指針。 mode 用于確定文件訪問模式,常用的模式"r"或者"w",分別表示讀和寫,還有其他模式,想了解的同學可以參考https://c-cpp.com/c/io/fopen.html。

int fclose( FILE *stream ); 

功能:關閉給定的文件流。沖入任何未寫入的緩沖數據到 OS 。舍棄任何未讀取的緩沖數據。

下面我們通過實例來看一下。

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    FILE* fp = fopen("test.txt", "r");
    if(!fp) {
        perror("File opening failed");
        return EXIT_FAILURE;
    } else {
        printf("File open successed\n");
    }
    fclose(fp);
    return 0;
}
input & output


文件輸入、輸出有多個函數,我們主要分為兩類:文本文件、二進制文件的輸入輸出操作。


文本文件


從文件輸出:

int fgetc( FILE *stream ); 

char *fgets(char *str, int count, FILE *stream ); 

int fscanf(FILE \*File, const char *Format, ...); 

int vfscanf(FILE *stream, const char *format, va_list ap);


向文件輸入: 

int fprintf(FILE *filename, const char *string, ...); 

int vfprintf(FILE *stream, const char *format, va_list arg); 

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
  FILE* fp = NULL;
  fp = fopen("test.txt","w+");
  fprintf(fp,"%d,%x,%o",16,16,16);
  fclose(fp);
  fp =NULL;
    int num1, num2, num3;
    fp = fopen("test.txt","r");
    if (fp) {
        fscanf(fp,"%d,%d,%d", &num1, &num2, &num3);
    }
    printf("num1:%d\nnum2:%d\nnum3:%d\n", num1, num2, num3);
    fclose(fp);
  return 0;
 }
 結果:
num1:16
num2:10
num3:20


以上就是“c語言如何利用計算機編程處理文件?(c語言怎么操作文件)”的詳細內容,想要了解更多C語言教程歡迎持續關注編程學習

掃碼二維碼 獲取免費視頻學習資料

Python編程學習

查 看2022高級編程視頻教程免費獲取