VS2017 C 讀取Txt資料的方法

2021-10-23 20:48:28 字數 2132 閱讀 1232

目錄

1.這裡採用fopen_s()函式開啟檔案。

2.對一些有規範格式檔案的讀取,可使用標準庫stdio.h下的fscanf_s函式。

3.如讀取檔案data.txt(資料格式相對規範)

與程式**外的資料(檔案)打交道,我們使用到流(stream)這個概念,實現程序的虛擬記憶體與檔案之間的資料交換。

——檔案流:c標準庫提供了file(之所以命名為file,因為linux將所有機制都視為檔案) ,file物件是乙個包含了管理流所需的所有資訊的結構,包括緩衝區資訊、各種標記(如檔案結束標記和錯誤標記)以及用於實際i/o的文 件描述符等

——輸入流輸入流:資料從檔案傳送到記憶體的叫輸入流,資料從記憶體傳送到檔案的叫輸出流。

——開啟檔案:file物件通過呼叫fopen函式建立的。如:file *fp, fp=fopen("filename","r"),表示以唯讀的方式建立與filename相關的檔案流;filename為當前目錄下的相對路徑名,r代表可讀(開啟檔案的模式)。

函式結構:

errno_t fopen_s( 

file** pfile,

const char *filename,

const char *mode

);

引數:

函式原型為:

int fscanf_s( 

file *stream,

const char *format [,

argument ]...

);

引數:

0.211487	1.22498	2.211	3.21899	4.21051	5.21576	6.21826	7.21802	8.21777	9.26147
**實現讀取:

#include #include "globalvardefine.h"

file *stream;

void readjiaodu()

else

//3//抽象理解:

//理解檔案位置含義:其表示已開啟檔案當前可讀寫字元的位置,其表示為乙個到檔案頭的整數;

//fscanf在讀取資料時可以這樣理解:檔案被開啟後,它就成了乙個無序位元組流(水流),其會通過乙個管道,流向被讀取的一端;

//了解fscanf後知道,其遇到空格字元(空格,製表符),換行符,就會停止,這裡的停止我們可以理解為:

//停下來為檔案中兩個不相關的資料塊做乙個分隔的操作,剛好適應了我們一般將空字元(包括換行符)作為兩個資料之間的分隔的行為;

//我們只需理解管道的兩端

//流進管道的一端的位置,就是檔案的位置,表示已被讀到的位置。

//流出管道一端,就是程序用來讀取資料的一端,其可以對管道中已經做區分的資料進行讀取。

//4:讀取:

for (i = 0; i < 10; i++)

printf("%f\n", aziumjiaodu[0]); // output data read:

// close stream if it is not null

if (stream)

else

}// all other files are closed:

int numclosed = _fcloseall();

printf("number of files closed by _fcloseall: %u\n", numclosed);

}

程式執行結果:

檔案開啟成功!

0.211487

the file was closed

number of files closed by _fcloseall: 0

出現上述結果,則表明資料讀取成功!

記錄xerces使用(VS2017 C )

1.編譯xerces,獲得dll檔案和lib檔案 2.將dll檔案和lib檔案拷貝到使用xerces的工程目錄裡面去 3.配置vs2017 c c all options additional include directories 放入xerces工程的src目錄 linker all optio...

在VS2017 C 中快速用上Sqlite

如果我們想編寫乙個有資料庫支援的程式,但是我們又不想安裝資料伺服器,那麼sqlite我們最好的選擇,以前我們還可以選擇微軟的access資料庫檔案mdb,但隨著微軟的office的公升級,mdb的支援也是越來越錯綜複雜了,所以這裡我們為了快速的實現我們的目標,我們選擇了sqlite。2 通過sqli...

無法編譯 VS2017C 工程編譯問題

1.屬性 init statement 需要編譯器標誌 std c 17 vs2017的時候會出現如下報錯,解決辦法如下 工程屬性 c c 所有選項 c 語言標準 iso c 17標準 std c 17 2.平台公升級 the builds tools for v120 platform tools...