找回密码
 注册
Simdroid-非首页
查看: 293|回复: 1

【分享】檔案的存取及處理

[复制链接]
发表于 2003-5-18 17:43:10 | 显示全部楼层 |阅读模式 来自 台湾
本分享主要是給新使用者容易上手
因此寫的有點簡單
希望大家見諒
  
fopen開啟檔案
[fid,message]=fopen(‘檔案名稱’,’參數’)
fid  為檔案識別碼,當使用fopen 開啟檔案成功時,就會送回正整數的fid碼,如3,反之若開啟失敗時則fid會送回 –1的值給,message為開啟檔案若錯誤時則傳回錯誤訊息
參數(Permission):
‘r’   只能讀,若檔案不存在時會發生錯誤
‘r+’ 能讀能寫,若檔案不存在時會發生錯誤
‘w’  只能寫,若檔案不存在時會建立一新的檔案,若檔案存在則會將內容覆蓋過去
‘w+’ 能讀能寫,若檔案不存在時會建立一新的檔案,若檔案存在則會將內容覆蓋過去
‘a’  只能附加(append)使用讀的方式,若檔案不存在時會建立一新的檔案,若檔案存在則會將內容加於檔案後方
‘a+’  只能附加(append)使用讀或寫的方式,若檔案不存在時會建立一新的檔案,若檔案存在則會將內容加於檔案後方
  
fclose關閉檔案
status=fclose(fid)  
fclose('all')
當執行fclose 成功就會送回一個0值給status。
  
檔案存取fscanf,fprintf,fread,fwrite
若檔案內容可以分為二進位或ASCII
若為ASCII碼時,檔案存取的方法為:
(1) fscanf,fprintf
fscanf讀取檔案
Variable=fscanf(fid,'資料格式',讀取資料的大小)
格式
%g  表示為浮點數值
%d  表示為十進位數值
%s  表示為字串
  
A = fscanf(fid,'%5d')   %讀檔案格式為十進位整數
A = fscanf(fid,'%5d',100)   %只讀100筆
  
fscanf寫入檔案
fprintf(fid,’資料格式’,資料矩陣或變數);
  
x = 0:.1:1; y = [x; exp(x)];
fid = fopen('exp.txt','w');
fprintf(fid,'%6.2f  %12.8f\n',y);
fclose(fid);
  
(2) Variable=load(‘檔案名稱’)
  
當然必須先使用save將檔案儲存
如倒案為bb變數為aa
  
save bb.txt aa -ascii
  
(存為.txt主要是為了可以看到資料內容)
再由load bb即可
  
若檔案內容是二進位檔時,檔案存取的方法為:
fread讀取檔案
fread(FID,讀取的資料大小,'資料精度')
資料精度
char     函符號的字元 (8位元)
uchar    不含正負符號的字元 (8位元)
short     短整數 (16位元,範圍在-215~215-1)
int       整數 (32位元)
long     長整數 (32位元,範圍在-231~231-1)
ushort   不含正負符號的短整數
uint     不含正負符號的短整數
ulong    不含正負符號的短整數
float     單精準浮點小數 (32位元)
double   雙精準浮點小數 (64位元)
  
a=fread(fid)﹔  此時a為一串二進位碼
b=char(a’)﹔  將二進位碼變成橫向的字串
c=str2num(b); 字串變數字
  
fwrite寫入檔案
fwrite (fid,寫入資料,’資料精度’)
  
fid = fopen('magic5.bin','wb')
fwrite(fid,magic(5),'integer*4')
  
EXAMPLE:
fid=fopen(‘exp.txt’,’wt’);
fprintf(fid,’%d %2.1f %4.2f’,10,20,3.2,14.58);
fclose(fid);
  
x=load(‘exp.txt’);
  
不好意思寫的不好
  
歡迎大家與我討論
  
謝謝
 楼主| 发表于 2003-5-19 04:38:11 | 显示全部楼层 来自 台湾

回复: 【分享】檔案的存取及處理

Simdroid开发平台
您好
  
非常感謝您的指教
因為在短時間內寫好的文章
所以並沒有注意到文字上的差異
  
下次會盡量改進的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-5 09:46 , Processed in 0.055646 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表