當前位置:首頁 » 編程語言 » 文件操作命令c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

文件操作命令c語言

發布時間: 2022-10-19 00:04:00

A. 用c語言實現文件讀寫操作(4)

用C語言實現文件讀寫操作

二、直接I/O文件操作

這是C提供的另一種文件操作,它是通過直接存/取文件來完成對文件的處理,而上篇所說流式文件操作是通過緩沖區來進行;流式文件操作是圍繞一個 FILE指針來進行,而此類文件操作是圍繞一個文件的“句柄”來進行,什麼是句柄呢?它是一個整數,是系統用來標識一個文件(在WINDOWS中,句柄的概念擴展到所有設備資源的標識)的唯一的記號。此類文件操作常用的函數如下表,這些函數及其所用的一些符號在io.h和fcntl.h中定義,在使用時要加入相應的頭文件。

函數 說明

open() 打開一個文件並返回它的句柄

close() 關閉一個句柄

lseek() 定位到文件的指定位置

read() 塊讀文件

write() 塊寫文件

eof() 測試文件是否結束

filelength() 取得文件長度

rename() 重命名文件

chsize() 改變文件長度

下面就對這些函數一一說明:

1.open()

打開一個文件並返回它的句柄,如果失敗,將返回一個小於0的值,原型是int open(const char *path, int access [, unsigned mode]); 參數path是要打開的文件名,access是打開的模式,mode是可選項。表示文件的屬性,主要用於UNIX系統中,在DOS/WINDOWS這個參數沒有意義。其中文件的打開模式如下表。

符號 含義 符號 含義 符號 含義

O_RDONLY 只讀方式 O_WRONLY 只寫方式 O_RDWR 讀/寫方式

O_NDELAY 用於UNIX系統 O_APPEND 追加方式 O_CREAT 如果文件不存在就創建

O_TRUNC 把文件長度截為0 O_EXCL 和O_CREAT連用,如果文件存在返回錯誤 O_BINARY 二進制方式

O_TEXT 文本方式

對於多個要求,可以用"|"運算符來連接,如O_APPEND|O_TEXT表示以文本模式和追加方式打開文件。

例:int handle=open("c:\msdos.sys",O_BINARY|O_CREAT|O_WRITE)

2.close()

關閉一個句柄,原型是int close(int handle);如果成功返回0

例:close(handle)

3.lseek()

定位到指定的位置,原型是:long lseek(int handle, long offset, int fromwhere);參數offset是移動的量,fromwhere是移動的基準位置,取值和前面講的fseek()一樣,SEEK_SET:文件首部;SEEK_CUR:文件當前位置;SEEK_END:文件尾。此函數返回執行後文件新的存取位置。

例:

lseek(handle,-1234L,SEEK_CUR);//把存取位置從當前位置向前移動1234個位元組。

x=lseek(hnd1,0L,SEEK_END);//把存取位置移動到文件尾,x=文件尾的位置即文件長度

4.read()

從文件讀取一塊,原型是int read(int handle, void *buf, unsigned len);參數buf保存讀出的數據,len是讀取的位元組。函數返回實際讀出的位元組。

例:char x[200];read(hnd1,x,200);

5.write()

寫一塊數據到文件中,原型是int write(int handle, void *buf, unsigned len);參數的含義同read(),返回實際寫入的位元組。

例:char x[]="I Love You";write(handle,x,strlen(x));

7.eof()

類似feof(),測試文件是否結束,是返回1,否則返回0;原型是:int eof(int handle);

例:while(!eof(handle1)){……};

8.filelength()

返迴文件長度,原型是long filelength(int handle);相當於lseek(handle,0L,SEEK_END)

例:long x=filelength(handle);

9.rename()

重命名文件,原型是int rename(const char *oldname, const char *newname); 參數oldname是舊文件名,newname是新文件名。成功返回0

例:rename("c:\config.sys","c:\config.w40");

10.chsize();

改變文件長度,原型是int chsize(int handle, long size);參數size表示文件新的長度,成功返回0,否則返回-1,如果指定的長度小於文件長度,則文件被截短;如果指定的長度大於文件長度,則在文件後面補''''。

例:chsize(handle,0x12345);

;

B. c語言程序文件操作

首先,你需要建立一個.c或者.cpp文件,還要建立一個.txt文件進行操作處理,並且寫上c語言的編譯預處理,頭文件,主函數。

2/6
然後你需要定一個文件指針,具體格式FILE*指針名。這個指針其實是一個結構指針,大家也不必過多的了解這個到底是什麼,只知道他就這樣用就可以了。

3/6
如果你想打開文件的話,你需要調用fopen函數,對於這個函數大家不必驚慌,其實很簡單,具體的格式為 文件指針=fopen("文件路徑+文件名","讀寫方式");

4/6
對於讀寫的方式有很多,比如r是只讀,w是打開文件新建並且只寫,r+是打開文件能讀能寫,w+新建文件能讀能寫。

5/6
如果程序把文件打開後不關閉,對於文件來說是很不安全的,所以需要關閉文件的函數fclose();如果想關閉p文件指針所指的文件,就寫fclose(p);這個函數具有返回值,如果關閉成功,就返回0.如果關閉失敗,就返回非0

6/6
此外,你可以調用fprintf()函數往文件里加東西,或者調用fputc向文件里添加字元,還可以調用fputs函數向文件里添加字元串。具體格式為
fprintf(文件指針,"添加格式",添加變數);
fputc(文件指針,添加的字元變數);
fputs(文件指針,添加的字元串);

注意事項
函數的參數不能少

C. C語言如何操作excel文件

1.寫操作 第一步:單純C語言寫入Excel文件只能是 *.csv的後綴文件(是和txt一樣,以二進制文本形式存儲,它是以都逗號分隔符做個單元格內容的劃分, .xls存儲比較復雜,
2.讀操作 讀取文件 對於讀取Excel文件的操作,使用了文件隨機定位函數fseek(),它的一般調用格式
3.最新補充 2018.08.28 由於經常有朋友告訴我運行結果是0

D. C語言怎樣對文件進行操作

我們運用C語言編寫程序的時候,經常需要對文件進行操作。那麼該如何實現呢?下面我給大家分享一下。

工具/材料

Sunlime Text

  • 01

    打開Sublime Text軟體,新建一個C語言文件,然後導入C語言庫,如下圖所示

  • 02

    接下來新建C語言的main函數,對文件的操作都會在main函數中進行,如下圖所示

  • 03

    接下來調用C語言的fopen函數對文件進行打開操作,如下圖所示

  • 04

    當打開文件以後就可以通過fgetc函數讀取文件裡面的內容,如下圖所示

E. c語言中打開頭文件的命令是什麼

用任意文本編輯器打開即可。


語言特點

主要特點

C語言是一種結構化語言,它有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建。

通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。通過對C語言進行研究分析,總結出其主要特點如下:

簡潔的語言

C語言包含的各種控制語句僅有9種,關鍵字也只有32個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。

實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。

以上內容參考:網路-C語言



F. c語言對文件操作,w只寫,是每次執行打開文件命令時清空文件的數據嗎

C語言對文件操作,"w"每次執行打開文件命令時清空文件的數據,而不是每執行一次對文件寫入的命令就把上一次的數據清空,只在打開文件時清空文件,在這次寫入時不清空數據.
如果不想清空原數據,用"a"追加寫入模式打開文件.

G. c語言 文件操作

文件
文件的分類:
按照用戶角度分:
①設備文件:如顯示器(printf)標准輸出文件;鍵盤(scanf)標准輸入文件
②普通文件:存放在磁等介質上的文件
按照文件的邏輯結構上分:
①記錄文件(有定長記錄、不定長記錄兩種)
②流式文件(由字元數據順序組成如c語言程序)
按照文件的編碼方式:
①文本文件(又稱ascii文件,每個位元組存放一個ascii碼)(.c、.cpp、.h、.txt、.ini、)(常見的有五種)
②二進制文件(binary file)(.com、.doc、.dat、.exe、.lib)(常見的有五種)

文件操作函數:
一、文件的打開:文件指針名=fopen(「path\文件名」,「打開文件方式」)
「文件打開方式」:
rt-只讀打開文本文件
wt-只寫打開文本文件
at-追加打開文本文件,並在末尾寫數據。

rb-只讀打開二進制文件
wb-只寫打開二進制文件
ab-追加打開二進制文件,並在末尾寫數據。

rt+-讀寫打開文本文件,允許讀寫
wt+-讀寫打開或建立一個文本文件,允許讀寫。
at+-讀寫打開一個文本文件,允許讀或在文件末尾追加數據。

rb+-讀寫打開二進制文件,允許讀寫
wb+-讀寫打開或建立一個二進制文件,允許讀寫。
ab+-讀寫打開一個二進制文件,允許讀或在文件末尾追加數據。

r+w:可讀寫文件(具體是二進制文件還是文本文件要看打開文件的擴展名而定)
例如:fp=fopen(「C.dat」,「w+b」)

文件打開模式只有r、w、a、t、b、+、這六個字元拼成。
w:用w打開的文件只能向該文件寫入數據(更准確是建立一個新的文件)(即將 信息從程序寫入磁碟中)
a:用a打開對我文件只能向已存在的文件中追加信息
①對於文本文件應注意:從程序中讀入內存時,要將ASCII碼轉換成二進制碼;而 把文件以文本形式寫入磁碟時,要將二進制碼轉換為ASCII碼。
②fopen函數將返回一個文本文件結構的指針(該文件不存在時,返回NULL)
文件的關閉:fclose(fp);(作用強制性將存放在緩中的未滿的數據寫入到磁碟中, 然後釋放文件指針,使其真正寫入磁碟中)
fclose(fp);關閉成功時返回0,失敗時返回EOR
文件的讀寫:
讀字元函數— fgetc()
調用格式:字元變數=fgetc(文件指針(fp));
函數說明:
讀字元時,文件必須以「讀」或者「讀寫」的方式打開
讀取的結果也可以不向字元變數賦值。例如fgetc(fp)
每讀一個字元文件內部指針向前移動一個字元(文件內部指針不是文件指針,文件內部直鎮不需要程序中定義說明由系統自動設置)
返回值:fgetc(fp):成功時函數返回讀入的一個字元,若讀到文件尾時或者出錯時,返回值為「EOF」。
寫字元函數—fputc()
調用格式:fputc(字元量(常量或者變數),文件指針(fp))
函數說明:
寫字元時,文件可以用「寫」「讀寫」「追加」的方式打開文件
寫或者是讀寫的方式打開文件時,原有的內容將會被清除,從文件首部開始寫入字元;若以追加的方式打開文件時,將在文件末尾開始寫入字元。
函數的返回值:寫入成功時,返回寫入的字元;失敗時,則會
返回「EOF」
每寫入一個字元,「文件內部位置指針」向後移動一個字元
讀字元串函數—fgets()
調用格式:fgets(字元數組名,n,文件指針(fp))
函數說明:
N是一個正整數,表示從文件中讀取的字元串不超過N-1個字元。
讀入最後一個字元後加上字元串結束標志'\0'.
讀取過程中,遇到換行或者文件結束標志「EOF」(end of file)時,讀取字元串結束。
寫字元串函數—fputs()
調用格式:fputs(字元串量,文件指針)(字元串量,即可是字元串變數(c中為字元數組),由可是字元串常量)
函數說明:無
///////////////////////////////////////////////////////////////--這部分有點小問題(程序運行不了)
讀數據塊函數—fread()
調用格式:fread(p,size,n,fp)
函數說明:
P:指向輸入/輸出數據塊的首地址的指針
Size:某類型數據存儲空間的位元組數(數據項大小)
N:此次從文件中讀取的數據項數
Fp:文件指針變數
寫數據塊函數—frite()
調用格式:fread (p,size,n,fp)
函數說明:
P:指向輸入/輸出數據塊的首地址的指針
Size:某類型數據存儲空間的位元組數(數據項大小)
N:此次從文件中讀取的數據項數
Fp:文件指針變數
注意:fread、fwite函數在調用成功時,函數返回值為n的值,即輸出的項數;如果失敗,則返回(0)。
//文件:打開----->讀或者寫-------->關閉文件:(你忘了關閉文件了)

H. c語言文件操作

不寫路徑是在你工程的debug目錄下
桌面比較麻煩,你可以指定路徑的,比如可以寫:
fp=fopen("c:\\work\\mark.txt","w+"); //文件目錄為c:\work

I. C語言中對文件的操作

所謂打開,是取得文件的句柄號。C用fopen函數來打開文件,返回這個文件的句柄(一個尋找文件的變數,其中包含文件大小、文件類型、文件位置等信息)。「打開」後,文件內內容並不會保存在內存中,只有在使用的時候,從儲存器上提取內容。
不知道你所說的輸入字元是什麼意思,如果指的是將內容保存在文件中的話,通常有以下幾種方式。Type1:在文件末尾插入數據。Type2:將文件所有位元組集讀入內容,作為修改,然後重新保存在儲存器中。
打開只是個代名詞,比如說一個Box(箱子),你想在箱子里取東西,或者是放東西,都需要先把箱子打開。如果你想深入了解,那你需要研究文件系統(PS:這是操作系統核心的一部分)