導航:首頁 > 文件教程 > 從文件中讀數據

從文件中讀數據

發布時間:2023-07-19 07:16:36

『壹』 如何用c語言從txt文件中讀取數據

用C語言從txt文件中讀取數據,可以使用C標准庫文件自帶的文件介面函數進行操作。
一、打開文件:
FILE
*fopen(const
char
*filename,
const
char
*mode);
因為txt文件為文本文件,
所以打開時選擇的mode應為"r"或者"rt"。
二、讀取文件:
讀取文件應根據文件內容的格式,以及程序要求,選擇讀取文件的函數。可以使用一種,也可以幾種混用。
常用的文件讀取函數如下:
1、fgetc,
從文件中讀取一個位元組並返回。
適用於逐個位元組讀取。
2、
fgets,
從文件中讀取一行。適用於整行讀取。
3、fscanf,
格式化讀取文件,
在已經清楚文件存儲格式下,可以直接用fscanf把文件數據讀取到對應類型的變數中。
4、fread,
整塊讀取文件,
對於txt文件比較少用。
三、關閉文件:
讀取結束後,應調用fclose函數關閉文件。

『貳』 java中怎麼從文件中讀取數

可以用scanner先讀取這字元串,然後根據題意分割成整形數放入數組再處理。

『叄』 java中怎樣從文件中讀取數據

分為讀位元組,讀字元兩種讀法x0dx0a◎◎◎FileInputStream 位元組輸入流讀文件◎◎◎x0dx0apublic class Maintest {x0dx0ax0dx0apublic static void main(String[] args) throws IOException {x0dx0ax0dx0aFile f=new File("G:\\just for fun\\xiangwei.txt");x0dx0ax0dx0aFileInputStream fin=new FileInputStream(f);x0dx0ax0dx0abyte[] bs=new byte[1024];x0dx0ax0dx0aint count=0;x0dx0awhile((count=fin.read(bs))>0)x0dx0a{x0dx0ax0dx0aString str=new String(bs,0,count);//反復定義新變數:每一次都 重新定義新變數,接收新讀取的數據x0dx0ax0dx0aSystem.out.println(str);//反復輸出新變數:每一次都 輸出重新定義的新變數x0dx0a}x0dx0afin.close();x0dx0a}x0dx0a}x0dx0ax0dx0a◎◎◎FileReader 字元輸入流讀文件◎◎◎x0dx0apublic class Maintest {x0dx0apublic static void main(String[] args) throws IOException {x0dx0ax0dx0aFile f=new File("H:\\just for fun\\xiangwei.txt");x0dx0ax0dx0aFileReader fre=new FileReader(f);x0dx0ax0dx0aBufferedReader bre=new BufferedReader(fre);x0dx0ax0dx0aString str="";x0dx0awhile((str=bre.readLine())!=null)//●判斷最後一行不存在,為空x0dx0a{x0dx0aSystem.out.println(str);x0dx0a}x0dx0abre.close();x0dx0a fre.close();x0dx0ax0dx0a}x0dx0ax0dx0a}

『肆』 c語言,怎麼從文件讀取數據到結構體,求助

C 結構體

實現讀取文件並保存到結構體代碼

#include<stdio.h>

#include<stdlib.h>

//文件操作格式化讀取保存到結構體數組

#defineBUFSIZE1000

structdata

charG[4];

floatXs;//起點坐標

floatYs;

floatE;

};

intmain()

FILE*fp;

inti,j,r_n=0;

charbuf[BUFSIZE],c;

//打開文件

fp=fopen("E:\\line.txt","r");

if(fp==NULL)

printf("Cannotopenfile!\n");

return1;

//計算文件中數據的行數

while(!feof(fp))

{c=fgetc(fp);

if(c=='\n')

r_n++;

printf("r_n=%d\n",r_n);

rewind(fp);//將指針重置到第一行

structdata*line1=NULL;

line1=(structdata*)malloc(sizeof(structdata)*(r_n+1));//創建一個結構體含有(r_n+1)個數據

for(i=1;i<=r_n;i++)

fgets(buf,BUFSIZE,fp);//一次讀取一行

sscanf(buf,"%sX%fY%fE%f",&line1[i].G,&line1[i].Xs,&line1[i].Ys,&line1[i].E);//分別跳過XYE讀取數據

//關閉文件

fclose(fp);

for(i=1;i<=r_n-1;i++)

printf("\n%s%.3f%.3f%.3f",line1[i].G,line1[i].Xs,line1[i].Ys,&line1[i].E);

free(line1);//釋放

return0;

運行效果:


(4)從文件中讀數據擴展閱讀:

函數sscanf(),它是C語言中從一個字元串中讀進與指定格式相符的數據的函數。

函數原型:

intsscanf(stringstr,stringfmt,mixedvar1,mixedvar2...);

intscanf(constchar*format[,argument]...);

sscanf與scanf類似,都是用於輸入的,只是後者以屏幕(stdin)為輸入源,前者以固定字元串為輸入源。

其中的format可以是一個或多個{%[*][width][{h|l|I64|L}]type|''|'\t'|'\n'|非%符號}

註:

1、*亦可用於格式中,(即%*d和%*s)加了星號(*)表示跳過此數據不讀入.(也就是不把此數據讀入參數中)

2、{a|b|c}表示a,b,c中選一,[d],表示可以有d也可以沒有d。

3、width表示讀取寬度。

4、{h|l|I64|L}:參數的size,通常h表示單位元組size,I表示2位元組size,L表示4位元組size(double例外),l64表示8位元組size。

5、type:這就很多了,就是%s,%d之類。

6、特別的:%*[width][{h|l|I64|L}]type表示滿足該條件的被過濾掉,不會向目標參數中寫入值

支持集合操作:

%[a-z]表示匹配a到z中任意字元,貪婪性(盡可能多的匹配)

%[aB']匹配a、B、'中一員,貪婪性

%[^a]匹配非a的任意字元,貪婪性

『伍』 C語言怎樣將數字從文件里逐個讀取出來

可以通過fscanf,從文件中依次讀取數據。
當fscanf返回EOF時,表示讀到文件結尾,這時停止讀專取即可。屬
以文件中存儲的為空格分隔的整型字元為例,可以寫作:
while(fscanf(fp,"%d",&n) != EOF)//從打開的文件指針fp指向的文件讀數據,每次讀一個整型,直至文件結尾。
printf("%d ", n);

閱讀全文

與從文件中讀數據相關的資料

熱點內容
蘋果硬碟數據恢復要多少錢 瀏覽:394
js綁定下拉框資料庫數據 瀏覽:448
cad文件怎麼復制到另一個文件里邊 瀏覽:858
dxp鑽孔文件 瀏覽:631
iphone大悅城換機 瀏覽:538
找結婚對象上什麼網站 瀏覽:974
學生信息管理系統程序設計報告 瀏覽:640
微信文件怎麼刪除怎麼恢復 瀏覽:407
編程程序怎麼復制 瀏覽:467
文件更改 瀏覽:327
冰點文件路徑 瀏覽:730
軟體一點開文件就關閉 瀏覽:88
網路如何把人捧紅 瀏覽:961
軟體傳輸文件 瀏覽:184
密碼記錄器ios 瀏覽:412
兩個電腦數據怎麼一樣 瀏覽:829
順豐有什麼買東西的app 瀏覽:377
數位板word 瀏覽:939
win7寬頻連接出現多重網路 瀏覽:268
更改程序圖標c語言 瀏覽:629

友情鏈接