檔案處理相關C函式

2021-09-29 18:51:07 字數 2019 閱讀 3268

總覽

1.0 int fscanf(file* stream, const char* format, argument);

waiting for adding…

1.0.0 fscanf 函式原型為 int fscanf(file * stream, const char * format, [argument…]); 其功能為根據資料格式(format),從輸入流(stream )中讀入資料,儲存到argument(注意,這裡的arguement是指向乙個位址)中,遇到空格和換行時結束。fscanf位於c標準庫標頭檔案中。

1.0.1 從乙個流中執行格式化輸入,fscanf遇到空格和換行時結束,注意空格時也結束。這與fgets有區別,fgets遇到空格不結束。

1.0.2 整型,成功返回讀入的引數的個數,失敗返回eof(-1)。

【注意】:== 如果沒有迴圈,碰到第乙個空格或者 』 / 』 就結束了,並不會讀取第二個東西==。一般迴圈的標誌是(!feof(file*))。

另外,要注意與fopen( path, " r/w/w+/…" ) 和 fclose(file*) 搭配起來用。

出迴圈不用while(!feof(path)), 而是這樣:

while(1

)}

例子: path 路徑下檔案內容為:i love you

#include

#include

using

namespace std;

intmain()

else

puts(""

);fclose

(cf)

;// 記得用完之後關閉檔案

}}

這個程式只能迴圈讀取一種型別的檔案,比如這裡是%s字串型別,因為用的迴圈。能不能有類似cin cout那種不考慮型別的輸入輸出呢?

———有,fscanf就可以通過設定不同的標誌獲取不同的型別,而且檔案的儲存只能存為文字檔案或者二進位制檔案,文字檔案便於瀏覽,(也都是以字串的形式儲存),二進位制檔案直接能被機器識別,因此高效。一般用get() 函式獲得字元,用getline(file,str, 『\n』) 來讀取一句話,這裡str儲存讀到的內容,『\n』 是代表 『碰到即停止讀取 』。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

注意上面那個程式,如果是用string 定義的字串str1, str2 ,str3 就無法連續輸出,類似 fscanf(file, 「%s%s%s」, str1, str2,str3);

這裡目前並不知道為什麼不能這樣?char 定義的字串和 string定義的字串 有很大的區別。

將程式修改為 char str1[30], char str2[30], char str3 [30]; // 就可以輸出。

當讀入不同型別的資料,且資料為有限個—很少時:

#include

void

main()

else

printf

("\n%d\n"

, source)

;fclose

(file);}

}

注意:

fscanf(file, "%f %f %f %s\n ", &ft1,&ft2,&ft3,&str1);

一定要注意與檔案的對應關係。例如:

讀取:1.0 2.0 3.0 love

2.0 3.0 4.0 hehe

第一行和第二行是否有換行,也決定了最後的%s是否加上\n

每一行中的資料是否有空格,也決定了%f %f之間是否要加空格(不確定,但是,對上總是沒錯的)。

wc,我真的服了,這個竟然浪費了我兩個小時找錯…請叫我rubbish li!

2.0fscanf 是乙個個的讀取的,當讀取完一行之後會自動跳到下一行,fscanf(readptr, 「%s %s %s」,a,b,c ),%s的個數,對應了你一下要讀幾個。

C 時間處理相關函式

返回兩個時間中的值較大的那個 public static datetime getmaxdatetime datetime dt1,datetime dt2 返回兩個時間中的值較小的那個 public static datetime getmindatetime datetime dt1,datet...

C 檔案處理 函式

開啟檔案 include file fp fp fopen file.txt r if null fp 獲取檔案大小fseek fp,0l,seek end 定位至檔案結尾 filelen ftell fp 得到檔案位元組數 p char malloc filelen 1 分配空間大小要 1 nul...

C字串處理相關函式

1 strstr str,substr 判斷substr是否是str的子串,如果是則返回substr第一次出現的位置,否則返回null。2 strcat str1,str2 字串連線函式 把src2所指字串新增到str1結尾處 覆蓋str1結尾處的 0 src2和str1所指記憶體區域不可以重疊且s...