C語言讀取檔案資料

2022-07-16 01:22:12 字數 1471 閱讀 1912

1樓:樂寒夢籍闌

先用getline或fgets讀取資料到一個字串中,這個串定義的長一點,保證夠用就行,如:

char

str[1024];

fgets(

str,

sizeof(str),

fp);

//fp為你開啟的檔案指標

然後呼叫for迴圈去讀取串的的資料,假設你的分隔符是空格,遍歷str,遇到空格就得到一個資料,然後繼續遍歷,直到str尾。

然後再去fgets資料,再遍歷,即可得到所有的資料。

2樓:佼赫然閎竹

使用fopen,fscanf函式即可讀取檔案資料。

1、fopen的函式原型:file

*fopen(const

char

*path,const

char

*mode);

fopen函式的第一個引數是檔案路徑,第二個引數是開啟方式,有以下幾種方式:

r以只讀方式開啟檔案,該檔案必須存在。

r+以可讀寫方式開啟檔案,該檔案必須存在。

rb+讀寫開啟一個二進位制檔案,允許讀資料。

rw+讀寫開啟一個文字檔案,允許讀和寫。

w開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。

w+開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。

a以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。(eof符保留)

a+以附加方式開啟可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。

(原來的eof符不保留)

wb只寫開啟或新建一個二進位制檔案;只允許寫資料。

wb+讀寫開啟或建立一個二進位制檔案,允許讀和寫。

wt+讀寫開啟或著建立一個文字檔案;允許讀寫。

at+讀寫開啟一個文字檔案,允許讀或在文字末追加資料。

ab+讀寫開啟一個二進位制檔案,允許讀或在檔案末追加資料。

上述的形態字串都可以再加一個b字元,如rb、w+b或ab+等組合,加入b

字元用來告訴函式庫開啟的檔案為二進位制檔案,而非純文字檔案。

返回值:檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回null,並把錯誤**存在errno中。

2、例程:

#include

#define f_path "d:\\myfile\\file.dat"

char c;

int main()

3樓:鄲任謝鑫

如果允許不按行讀取,用scanf讀整數即可,scanf會自動忽略換行和其它空白符。

for(;;)

如果要按行讀取,需要兩層迴圈,

外層用fgets,

內層用sscanf.

關於c語言中結構體和檔案讀取輸出問題

當然要錯 改成 fread stu,sizeof stu 1,fp 一個讀資料是讀一條結構體的資料進去 不能分開讀 c語言中對結構體資料格式檔案進行讀取時,必須以二進位制格式開啟檔案,然後按結構體型別變數記憶體塊方式進行資料讀取,相關讀資料命令為fread 函式說明 include size t f...

C中Dropdownlist如何讀取資料庫繫結並且聯動

圖書型別 計算機文學 書架 右a 1 右b 1 左a 1 左b 1 這是我的源 為什麼我的不是這樣 dropdownlist的屬性 autopostback 和這個沒有關係吧 把你後臺 拿出來看看 dropdownlist選擇項發生改變的事件裡新增函式,獲取當前選擇項的值 該值應為資料表中id 根據...

如何用C合併 和 b檔案並讀取裡面的資料到陣列裡去,本人菜鳥尋求各位高人求教

txt和.b裡面都是什麼內容 如何用c 讀取txt檔案裡的資料,並且儲存在byte陣列裡 不知道幹嘛用的 using system using system.collections.generic using system.linq using system.text using system.co...