請問怎麼從txt檔裡面抓出txt檔的值出來 |
尚未結案
|
cdhjs
一般會員 發表:4 回覆:4 積分:1 註冊:2005-04-04 發送簡訊給我 |
// 數2.cpp : Defines the entry point for the console application. // #include |
ubong
一般會員 發表:2 回覆:42 積分:23 註冊:2002-10-02 發送簡訊給我 |
如果你所要開啟的檔案是確定已經存在的,那麼你可在程式一開始就開啟檔案,
視你的檔案是否惟讀或增刪而加入設定:
FILE *testf;
testf=fopen("test.txt","r");//檔案已存在且只讀取,如非純文字檔則用"rb"
testf=fopen("test.txt","w ");//開啟新檔並可隨時新增資料
testf=fopen("test.txt","r ");//開啟一已存在的檔案,並可變更資料
在開啟檔案後再由程式隨時要讀取內容,每次讀取時可先將檔案移到檔頭:
rewind(testf);
讀取.txt的檔案,如果每一行內容長度非固定,建議你設個檔案位置變數來記錄
下一筆位置,這是我常用的方式供你參考,設一變數記下檔案長度,在檔案位置
等於或大於檔案長度時結束讀檔:
int pos,flength;
char str[81];
pos=0;
fseek(testf,0,2);//設定檔案位置在檔尾
flength=ftell(testf);
rewind(testf);
for(;;) { //設定讀檔迴圈
if(pos>=flength) break; //檔案位置等於或大於檔案總長度,結束讀檔
fgets(str,80,testf);
pos =strlen(str) 1;//下一行位置,str 長度加上換行字元1
// 然後加上你處理str字串的程式碼
}
檔案已確定要讀取,開啟一次後隨時可做讀取動作,不必一再的開啟關閉,如果
有寫入動作,可適時加入fflush(testf)將檔案確時寫進磁碟,避免當機時資料
流失就可。
以上就你有關檔案讀寫問題,提供一些經驗,希望對你助益。 ubong
------
ubong |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |