C語言——文件的基本操作

2021-02-20 學士科技

點擊上方「學士科技」,選擇「設為星標」

資訊、技術乾貨第一時間送達!

C語言基礎合集,點我點我~~~

C語言進階合集,點我點我~~~

C語言高級:

01.C語言實現字符串的加密和解密

02.C語言數據結構——鍊表


C語言中文件的基本操作包括:文件的打開、文件的關閉以及文件的輸入和輸出。除了標準的輸入、輸出文件外,其它的文件都必須先打開在使用,使用後必須關閉該文件。


文件指針是一個指向文件有關信息的指針,這些信息包括文件名、狀態和當前位置,他們保存在一個機構體變量中。在使用文件時需要在內存中為其分配空間,用來存放文件的基本信息。C語言中規定該結構體類型為FILE型。

文件指針的定義:

FILE *fp;//fp是一個指向FILE類型的指針變量

FILE *fp;fp = fopen(const char * filename, const char * mode);

在這裡,filename 是字符串,用來命名文件,訪問模式 mode 的值可以是下列值中的一個:

如果處理的是二進位文件,則需使用下面的訪問模式來取代上面的訪問模式:


"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"

如果要以只讀方式打開文件名為test.txt的文本文件,應寫成如下形式:


FILE *fp;fp = fopen("test.txt", "r");

如果打開成功,則返回一個有確定指向的FILE類型指針;若打開失敗,則返回NULL。


文件在使用完畢後,應該使用fclose函數將其關閉。

fclose的一般形式為:

當正常關閉文件後,fclose函數返回值為0,否則返回EOF.


為什麼使用完文件後要將其關閉?

關閉文件的目的是為了防止因為沒有關閉 文件而造成的數據流失。


文件的讀寫

打開文件後,就可以對文件進行讀寫操作,C語言中提供了多種文件操作函數,接下來我們具體的看一下。

fputc函數

fputc函數的定義形式如下:

該函數的作用是將一個字符寫到磁碟文件(fp所指向的文件)中去。如果函數輸出成功則返回輸出的字符,失敗則返回EOF.

實例:

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>
int main() { FILE* fp; char ch;
if ((fp = fopen("c:\test.txt", "w")) == NULL) { printf("open file filed!"); } ch = getchar(); while (ch != '*') { fputc(ch, fp); ch = getchar(); } fclose(fp);}

運行結果:


fgetc函數

fgetc函數的定義形式如下:

該函數的作用是從指定的文件(fp所指向的文件)讀入一個字符賦值給ch。當函數遇到文件結束符時將返回一個文件結束標誌EOF。

實例:

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>
int main() { FILE* fp; char ch;
if ((fp = fopen("c:\\test.txt", "r")) == NULL) { printf("open file filed!"); } ch = fgetc(fp); while (ch != EOF) { putchar(ch); ch = fgetc(fp); } fclose(fp);}

運行結果:

今天就先介紹到這,後續介紹剩下的幾個文件操作函數。


END


相關焦點

  • 乾貨|C語言文件的基本操作!
    本文轉載自【微信公眾號:手機電腦雙黑客,ID:heikestudio】經微信公眾號授權轉載,如需轉載與原文作者聯繫c語言對文件的操作主要分為:按字符操作,按行操作,按內存塊操作主要的函數:fopen():FILE * fopen(_In_z_ const char * _Filename, _In_z_ const char
  • c語言文件操作整理
    推薦《c陷阱與缺陷》FILE *fp;fp = fopen(file, "r+");編程者也許認為,程序一旦執行上述操作完畢,就可以自由地進行讀取和寫入的操作了。遺憾的是,事實總難遂人所願,為了保持與過去不能同時進行讀寫操作的程序的向下兼容性,一個輸入操作不能隨後直接緊跟輸出操作,反之亦然。
  • C語言之文件操作
    這就要用到我們今天要講到的內容——「文件操作」。關於文件在我們比較熟悉的Windows系統下,文件類型的區分是用「擴展名」來進行的。但其實擴展名並不是指「文件格式」,它只是一個「門牌號」而已。在C語言中,文件一般分為兩種,一種是二進位文件,就是我們編譯出來的那個東西,我們是看不懂的;另一種是文本文件,也就是我們常說的原始碼。打開和關閉文件我們要對一個文件進行操作,首先我們需要把文件打開,然後才能讀或者寫。對文件操作完成後,我們還要將文件關閉。
  • C語言操作EXCEL文件(讀寫)
    C語言操作EXCEL文件(讀寫)本文主要介紹通過純C語言進行EXCEL的讀寫操作:(如果運行結果均是0,請看文章最後一節)在之前需要使用
  • C語言文件操作詳解
    文件操作標準庫函數有:文件的打開操作 fopen 打開一個文件文件的關閉操作 fclose 關閉一個文件文件的讀寫操作 fgetc 從文件中讀取一個字符fputc 寫一個字符到文件中去fgets 從文件中讀取一個字符串fputs 寫一個字符串到文件中去fprintf 往文件中寫格式化數據fscanf
  • 文件操作的正確流程,C語言文件操作的函數
    引言操作文件的正確操作流程為:打開文件—>讀寫文件—>關閉文件在對文件進行讀寫操作之前,需要先打開文件,操作完成之後就要關閉文件!所謂的打開文件,就是需要獲取文件的信息,例如文件名、文件狀態以及文件位置;而對於文件的操作,就是對文件的讀(read)與寫(write),C語言對於文件的操作十分的靈活;同時在對文件完成操作之後,就需要關閉文件,不僅是為了禁止對文件的操作,同時也是為釋放儲存文件指針FILE的內存空間資源。
  • C語言文件操作
    C 語言把文件看作是一個字符(字節)的序列,即由一個一個字符(字節)的數據順序組成。根據數據的組織形式,可分為 ASCⅡ 文件和二進位文件。文件的操作包括:文件的打開、文件的關閉、文件的讀寫操作、文件狀態檢查以及文件的定位等。 1 文件的打開 1.1 函數原型 1.2 功能說明 按照 mode 規定的方式,打開由 pname指定的文件。
  • 一文搞懂C語言對文件的操作 | 經典
    10張講了有關文件的知識,以往我們寫的C程序的數據都是由鍵盤輸入的現在我們要對文件進行操作。文件是作業系統的基本單位。是我們專業領域的重要的一部分。ASCII文件我們在剛剛接觸c語言時就了解了ASCII標,每個特定的數代表一個字符,那麼將字符形式的文件就是ASCII文件,也稱為文本文件,每個字節存放一個字符的ASCII值。
  • Python利用openpyxl處理Excel文件(Excel文件基本操作)
    (一)創建Excel文件1.創建Excel文件from openpyxl import Workbookwb = Workbook()wb為一個Workbook對象,而這個對象的屬性我們還沒有具體定義,
  • C語言文件操作函數總結fopen和fclose、fprintf和fscanf(格式化讀寫文件)
    點擊上方「C語言中文社區」,選擇「置頂公眾號」第一時間查看C語言筆記!
  • 第六篇:C語言中結構體與文件操作相關知識點梳理
    前面總結過,C語言中的基本數據類型有四種,分別是整型、浮點型和字符型;後面又講到可以保存字符串的字符數組。但這遠遠不夠實際應用的需要。01問題引入問題一:基本數據類型無法滿足應用需要注意:這個學生信息是一個整體,用前面學到的基本數據類型是無法實現的。有沒有一種學生的數據類型可以使用?系統沒有定義,就只能自行設計了。這就是本文要總結的第一個核心知識點:結構體。在C語言中結構體是對數據類型的無限擴展。
  • C語言之·操作符
    🍓操作數的類型長度(sizeof)·sizeof操作符:以字節為單位返回操作數的大小;操作數可以是具體的數據對象(變量名)或類型,如果操作數是類型,則必須用圓括號將其括起來·C語言規定,sizeof 返回
  • 【C語言】02.第一個C語言程序
    不過呢,開發工具屏蔽了很多操作細節和語法細節,不利於初學者直觀、系統地學習一門語言。因此,在這裡,我們暫時使用文本編輯工具UltraEdit來寫C語言代碼。 2.寫代碼1> C程序由函數構成寫代碼之前,你首先要知道:任何一個C語言程序都是由一個或者多個程序段(小程序)構成的,每個程序段都有自己的功能,我們一般稱這些程序段為「函數」。
  • C語言項目中.h和.c文件的關係和概念
    在編譯器只認識.c(.cpp))文件,而不知道.h是何物的年代,那時的人們寫了很多的.c(.cpp)文件,漸漸地,人們發現在很多.c(.cpp)文件中的聲明語句就是相同的。
  • C語言晉級--ANSI C文件管理
    本篇文章的重點是理解ANSI C文件庫,包括文件指針的概念;文件和流之間的關係;文本和二進位文件;文件的基本操作。
  • C語言的頭文件包含竟然有那麼多講究!
    曾以為自己寫C語言已經輕車熟路了,特別是對軟體文件的工程管理上,因為心裡對自己的代碼編寫風格還是有自信的。(畢竟剛畢業時老大對我最初的訓練就是編碼格式的規範化處理)曾以為,一個.c文件對應一個.h文件,.c文件只包含它自身的.h文件就好,若.c文件中用到其他文件中的內容,則.h文件把用到的頭文件包含進來就可以了。
  • C語言中常用的幾個頭文件及庫函數
    來源:https://www.jb51.net/article/124594.htm這篇文章主要介紹了C語言中常用的幾個頭文件及庫函數的相關資料
  • C語言頭文件被include後都發生了什麼?為何不能在頭文件定義變量
    C語言的#include語法頭文件通常與C語言的#include 語法配合使用,意為「將頭文件內容包含進來」,例如在 t.c 文件裡寫下這段C語言代碼:C語言代碼編譯器在編譯這段C語言代碼之前,會有一個「預處理」的過程,在此過程中,stdio.h 裡的內容被展開到 t.c 文件裡。
  • C語言面試54題
    第2題,c語言中有哪些基本的數據類型?Int整型。Float浮點型。Double雙浮點型。Char單個字符。void特殊類型,不包含任何值。第32題, 在c語言中可以自定義頭文件嗎?是的, 當然可以, 定義完頭文件以後可以存放函數的原型。使用的時候, 用include來包含這個文件的名字。第33題,解釋一下c語言中的動態數據結構。
  • c語言程序設計自學教程
    如果您不甘落後,那麼請自製自控,自學c語言程序設計也是完全可能的。C語言編譯的程序稱為源程序它以ASCII數值存放在文本文件中。2、#define PI 3.1415926; 這個寫法是錯誤的,一定不能出現分號。 3、每個C語言程序中main函數是有且只有一個4、在函數中不可以再定義函數。