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

從文件中讀數據

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

閱讀全文

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

熱點內容
如何把資料庫加入其中 瀏覽:661
編程除法怎麼取消取整 瀏覽:625
股票編程軟體哪裡有賣 瀏覽:503
access導入多個txt文件 瀏覽:917
大臉app安卓下載 瀏覽:439
怎麼休改文件名 瀏覽:989
cdr導出圖片不顯示文件名 瀏覽:761
pcdmis如何離線編程 瀏覽:201
微信推文插入文件 瀏覽:844
生產文件櫃圖片 瀏覽:244
如何設置微信數據增加 瀏覽:95
excel文件不再增大 瀏覽:613
ug編程刀路怎麼復制不用滑鼠選取 瀏覽:97
excel文件打開擴展名錯誤 瀏覽:10
阿里巴巴怎麼做數據包 瀏覽:442
無線網路連接一直顯示未連接 瀏覽:25
windows7如何自動激活工具下載 瀏覽:57
天語救磚工具 瀏覽:839
網路體育課程有哪些 瀏覽:19
蘋果微信怎麼查看文件 瀏覽:165

友情鏈接