c語言,怎麼用fscanf 把資料讀到動態陣列中

時間 2021-08-30 10:17:29

1樓:風若遠去何人留

要經過如下幾個步驟:

1 開啟檔案。

2 建立動態陣列。如果事先可以預知資料總數,或者可以通過開啟的檔案獲取到需要讀取的數量,那麼這一步可以使用已知或讀取到的值來建立動態陣列。否則可以先暫定一個大小,在實際讀取中如出現不足再用realloc函式重新分配。

3 格式化讀取資料。用scanf讀取資料。直到讀取到所有需要的資料,或者出錯為止。

4 關閉檔案。

5 使用讀取到的檔案。

下面以不確定總數的方式為例,提供一個參考**。

假定檔名為in.txt, 所存資料均為合法int型,以空格或換行分隔。

#include

#include

int main()

}printf("共讀取到%d個元素\n", n);

for(i = 0; i < n; i ++)printf("%d\n", a[i]);//列印所有讀到的元素。

free(a);//程式結束,釋放記憶體。

return 0;}

2樓:匿名使用者

資料檔案格式是什麼樣的?貼上來幾行看看就好辦了。

c語言程式 從資料檔案中讀入資料到陣列

3樓:刺友互

1、首先讓我們新建一個class類。

2、書寫main方法。

3、讓我們在c盤根目錄下新建一個txt文件,內容為‘test’。

4、然後讓我們接著寫**,首先建立一個file物件。

5、然後建立一個stringbuilder物件,用於儲存讀取的內容。

6、接下來,我們用bufferedreader類來進行讀取內容了。

7、然後我們將內容來輸入到控制檯就可以了。

4樓:匿名使用者

//你的這個程式是錯的,做如下修改,

///fscanf()讀取出來的都是字串,因此不能直接給int型別,不然資料就出現不是你寫入txt//中的資料,要把字串變成數字才行,一下就是數字字串變成數字atoi()

//用法如下:a="4560"

//int b=atoi(a)

#include

#include

#include

#include

int read(int arr)

//則輸出沒有找到檔案

while(!feof(fp))//判斷檔案是否結束n=i;//n為陣列中資料個數

fclose(fp);//關閉檔案

return n;//返回n即資料個數的值}void main()

5樓:

int read(int arr)

//則輸出沒有找到檔案

while(!feof(fp))//當不為檔案結尾時n=i;//n為陣列中資料個數

fclose(fp);關閉檔案

return n;返回n即資料個數的值

}txt檔案放在cpp檔案同一目錄下就可以了

C語言fscanf為什麼這樣子做會報錯同檔案下有file1 這個檔案且不為空

printf n open file error.後面加一句 return 0 否則,fopen 出錯後仍會進入while。你的錯誤資訊是 main 已有,ffile11.obj 裡出現了,現在的程式是 file12。main 重複定義了。所以要查一下你的編譯和鏈結設定。一般簡單程式,我在dos黑窗...

c語言中怎麼用,C語言中 怎麼用

按位與 屬於位操作 一般用在取記憶體中特定位的值 如有 11111111 我要取其中從左起第三位的值,就用它按位與 00001000 關於 位操作的技巧還有很多,你可以去自己搜一下還有一個應用就是用於關係運算中,如 有兩小段程式 sample 1 int main cout sample 2 int...

用C語言編寫程式資料結構,用C語言編寫程式 資料結構 20

第5 題 include include define max 256 typedef int list max typedef int elemtype typedef int status define overflow 1 define ok 1 define list init size 8...