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

從文件中讀數據

發布時間: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);

閱讀全文

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

熱點內容
數控機床常用的編程方法有哪些 瀏覽:467
鐵路與大數據分析產生什麼結果 瀏覽:572
如何把文件轉為種子 瀏覽:59
玩股票杠桿用什麼app 瀏覽:999
怎麼用q幣充qq紅包 瀏覽:140
海外代購app哪個比較好 瀏覽:729
手機改qq密碼怎麼改 瀏覽:238
api壓縮文件夾 瀏覽:847
網路營銷中營銷策略都有哪些 瀏覽:926
mat格式文件數據類型 瀏覽:132
手機文件刪除如何恢復 瀏覽:682
如何計算帶有指數的數據 瀏覽:243
手機數據存儲在主板的哪裡 瀏覽:151
什麼網站物品最實惠 瀏覽:361
win7自帶截圖工具不能用 瀏覽:939
javamail發送html郵件 瀏覽:682
穿越火線槍戰王者游戲錄制在哪個文件夾 瀏覽:10
cad圖復制到另一個cad文件標注變形 瀏覽:198
騰訊大數據平台部屬於哪個群 瀏覽:350
電極自動編程哪個軟體好用 瀏覽:550

友情鏈接