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...