1. 程式人生 > >C語言檔案IO相關操作

C語言檔案IO相關操作

            I/O函式以三種基本的形式處理資料:單個數據、文字行和二進位制資料。1.fopen函式 (開啟一個特定的檔案)   形式: FILE  * fopen(char const* name,char const* mode) 引數:          name: 希望開啟的檔案或裝置的名字    mode:                     r : 為讀而開啟的文字檔案  。(檔案不存在則錯誤)           w :為寫而開啟的文字檔案(檔案存在則原來的內容刪除,不存在則建立)           a :新增 (檔案存在從檔案尾進行新增,不存在則建立)             r+:為讀和寫而開啟的文字檔案(讀時從頭開始,寫時新資料只覆蓋所佔空間其後不變)
           w+:首先建立一個新檔案,進行寫操作,隨後可以從頭開始讀.(若檔案存在,原內容將全部消失)            a+:在檔案尾部新增新的資料後,可以從頭開始讀.           同理rb+、wb+、ab+,只是可以由位置函式設定其讀寫的位置 注:fopen函式執行成功,會返回一個指向FILE結構的指標,執行失敗會返回一個NULL指標。所以應始終檢查函式的返回值。    2.fclose函式(關閉檔案)  形式:int fclose(FILE * f)        fclose()函式在檔案執行前重新整理緩衝區,執行成功返回0,執行失敗返回EOF.     3.字元IO  
    字元輸入:         int fgetc(FILE* stream)             int getc(FILE* stream)            int getchar(void)    從標準輸入讀取字元  字元輸出: int fputc(int character, FILE *stream);           int putc(int character,FILE *stream);           int putchar(int character);      4.字串操作  char* fgets(char* buffer,int buffer_size,FILE* stream);
        fgets從指定的stream讀取字元並把它們複製到buffer中。當它讀取一個換行符並存儲到緩衝區之後就不在讀取        int fputs(char const* buffer,FILE* stream);           fputs函式必須包含一個字串,它的字元被寫入到流中。5.二進位制I/O       把資料寫入到檔案效率最高的方法是用二進位制形式寫入。二進位制輸出避免了在數值轉換為字串過程中所涉及的開銷和精度損失。(只有當資料被另一個程式按順序讀取時才能使用)       size_t  fread(void *buffer,size_t size,size_t count,FILE* stream);
        size_t  fwrite(void* buffer,size_t size,size_t count,FILE* stream);      引數:          fread函式用於讀取二進位制資料,fwrite函式用於寫入二進位制資料。          buffer是一個指向用於儲存資料的記憶體位置的指標            size是緩衝區中每個元素的位元組數,          count是讀取或寫入的元素數()讀取或寫入一個標量時,count的值應為1.            函式返回值是實際讀取或寫入元素的數目。     6.定位函式          (1) long ftell(FILE* stream);  fell函式返回流的當前位置(也就是,下一個讀取或寫入將要開始的位置距離檔案起始位置的偏移量)。 在二進位制流中,這個值就是當前位置距離檔案起始位置之間的位元組數。         (2)int fseek(FILE* stream,long offset,int from);      注:在二進位制流中,從SEEK_END可能不被支援,應避免。在文字流中,from是SEEK_END或SEEK_END,offset必須為零,如果from是SEEK_SET,offset必須是一個從同一個流中以前呼叫ftell所返回的值。            (3) void rewind(FILE *stream);          rewind函式將讀/寫指標設定回指定流的起始位置。       7.檔案結束函式feof int  feof(FILE* stream);  EOF可以作為文字檔案的結束標誌,但不能作為二進位制檔案的結束符。feof函式即可以判斷二進位制檔案,又可判斷文字檔案。
參考:《C和智慧》第十五章 輸入/輸出函式

相關推薦

C語言檔案IO相關操作

            I/O函式以三種基本的形式處理資料:單個數據、文字行和二進位制資料。1.fopen函式 (開啟一個特定的檔案)   形式: FILE  * fopen(char const* n

C語言 檔案IO的使用

簡單介紹C語言檔案操作函式的用法(可以直接使用): fopen fclose fprintf fscanf fputc fgetc fread fwrite

C語言檔案讀寫操作,寫入資料到檔案

很早寫的在linux系統下的檔案讀寫操作,寫入資料到檔案,很時候初學者學習 #include <stdio.h> int writeInfoToFile(char *strFile) { int age, i; char name[10]; FI

c語言-檔案io

#include "stdio.h" #include "stdlib.h" #include "string.h" int main() { FILE *p = fopen("D:\\st

C語言筆記、檔案io操作

  一個自己定義的標頭檔案: 檔名為 xxx.h 內容: #ifndef _MYHEAD_H   #define _MYHEAD_H #include<stdio.h>#include<sys/types.h>#include<sys/st

C語言檔案操作相關(一)

C語言中對檔案的操作,是很重要的,今天我首先對對檔案進行操作的函式進行整理學習 1. fread: 原型:size_t fread(void * buffer,size_t size,size_t count,FILE *stream) 引數: buffer:接收資料的記憶

檔案操作,及檔案操作時的許可權設定,快速實現檔案拷貝,C語言常用IO函式

定義一個檔案型別指標。用於儲存開啟檔案後的指標。 C語言中可以用 gets(char *str) 來輸入一行(包括空格)。 FILE *p = fopen("檔名",“開啟的許可權”); 其中許可權可以是w ,此時如果檔案不存在會自動建立,如果存在就會自動覆蓋(內容); 許

C語言檔案操作與Python檔案操作的比較

無論是在C語言中還是在Python中,對檔案的操作都是直接實現了計算機內部與外部之間的互動; 通過將資料寫入檔案可以更好地實現資料的儲存,而不會在程式結束之後資料隨之消失, 而通過檔案的讀取操作則可以更好地避免自己講大量資料的手動輸入程式。   本篇文章主要介紹C語言以

C語言檔案操作函式總結——超詳細

版權宣告 本文原創作者:谷哥的小弟 作者部落格地址:http://blog.csdn.net/lfdfhl 檔案與流 在C語言中有三種標準流: stdin(standard input stream)標準輸入流。在大多數環境中為從鍵盤輸入;scanf( )和getchar( )

C語言檔案操作 和 預編譯命令

//read檔案 int main(){ char *path = "D:\\friends.txt"; FILE *fp = fopen(path, "r"); char buff[500]; while (fgets(buff,50,fp)){ printf("%s\n", b

c語言檔案操作函式講解

c語言檔案操作 什麼是檔案 磁碟上的檔案是檔案。包含程式檔案和資料檔案。 程式檔案:包括.c檔案,和可執行檔案(exe.檔案)。 資料檔案:程式從檔案中讀取,或者輸出檔案,比如存放資料的txt檔案。 檔名 檔名包含檔名+檔案主幹+檔案字尾。 檔案型別 檔案型別有文字檔

C#:檔案IO操作 FileStream的用法 及 StreamReader 和 StreamWriter的用法

1. FileStream 用法程式碼 static void Main(string[] args) { //memory : 記憶體 //Binary : 二進位制 String path = @"F:\ly\tes

C語言檔案操作之fgets()

C語言檔案操作之fgets() 原創  2013年01月25日 11:57:00 標籤: C語言 / fgets... / 檔案操作函式 142460 &

C語言檔案操作

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #define MAX_LINE_LENGTH 100 int main() { FILE* input = fopen("main.c",

c語言 檔案操作參考

// File.cpp : 定義控制檯應用程式的入口點。 // #include “stdafx.h” #include <string.h> #include <stdlib.h> #include <stdio.h> int main(vo

C語言檔案操作詳解

* 檔案狀態檢查 A. 檔案結束 (1) 函式原型 int feof(FILE *fp) (2) 功能說明    該函式用來判斷檔案是否結束。 (3) 引數說明    fp:檔案指標。 (4) 返回值    0:假值,表示檔案未結束。    1:真值,表示檔案結束。

C語言檔案操作之----檔案的讀寫

當檔案按指定的工作方式開啟以後,就可以執行對檔案的讀和寫。下面按檔案的性質分類進行操作。針對文字檔案和二進位制檔案的不同性質,對文字檔案來說,可按字元讀寫或按字串讀寫;對二進位制檔案來說,可進行成塊的讀寫或格式化的讀寫。1. 讀寫字元    C提供fgetc和fputc函式對文字檔案進行字元的讀寫,其函式的原

C語言檔案操作學習記錄

檔案開啟 fopen() FILE *fopen(const char *pname, const char *mode)  引數  1.pname  開啟檔案的路徑,可絕對,可相對  

C語言檔案操作函式大全

clearerr(清除檔案流的錯誤旗標) 相關函式 feof表頭檔案 #include<stdio.h> 定義函式 void clearerr(FILE * stream); 函式說明 clearerr()清除引數stream指定的檔案流所使用的錯誤旗標。返回值 fclose(關閉檔案) 相關函

C語言檔案讀取和單鏈表的新增、刪除和排序等操作例項

/* 1、從文字檔案中匯入班級學生資訊:學號、姓名、性別、籍貫 2、將學號重複的刪除 3、顯示匯入的學生資訊 4、按學號、姓名、性別、籍貫相等和不相等查詢 5、多次查詢 6、查詢結果寫入檔案 7、VC++6.0編譯通過 //以下程式碼存為main.cpp */ #inclu