工程軟體常用txt格式儲存資料,但是不同軟體的資料介面不同,經常需要對資料重排版或者清洗。
掌握此項操作很簡單,只需要懂得兩點:一是檔案操作的基本函式,二是資料格式。本文將簡要介紹各函式,給出函式的詳細用法,最後用**片舉例。
本文包含以下部分:
數值格式轉換,檔案自動讀寫
txt檔案的操作步驟有:開啟,讀寫,儲存。
檔案開啟一般用fopen,格式是:
檔案指標名=fopen(檔名,使用檔案方式);
「檔案指標名」表示了檔案位址;「使用檔案方式」是選擇對檔案的操作型別,比如唯讀或者讀寫。
對於fopen有以下幾點詳細介紹:
相應產生多種檔案開啟方式: 「rt」,「wt」,「at」 ,「rb」 ,「wb」,「ab」,「rt+」 ,「wt+」,「at+」 ,「rb+」 ,「wb+」,「ab+」
凡用「r」開啟乙個檔案時,該檔案必須已經存在,且只能從該檔案讀出。
用「w」開啟的檔案只能向該檔案寫入。若開啟的檔案不存在,則以指定的檔名建立該檔案,若開啟的檔案已經存在,則將該檔案刪去,重建乙個新檔案。
若要向乙個已存在的檔案追加新的資訊,只能用「a」方式開啟檔案。但此時該檔案必須是存在的,否則將會出錯。
在開啟乙個檔案時,如果出錯,fopen將返回乙個空指標值null。在程式中可以用這一資訊來判別是否完成開啟檔案的工作,並作相應的處理。
把乙個文字檔案讀入記憶體時,要將ascii碼轉換成二進位製碼,而把檔案以文字方式寫入磁碟時,也要把二進位製碼轉換成ascii碼,因此文字檔案的讀寫要花費較多的轉換時間。對二進位制檔案的讀寫不存在這種轉換。if
((fp=
fopen
("c:\\123"
,"rb")==
null){
printf
("\nerror on open c:\\123 file!");
getch()
;exit(1
);% 如果返回的指標為空,表示不能開啟c盤根目錄下的123檔案,則給出提示資訊「error on open c:\ 123 file!
」,下一行getch()
的功能是從鍵盤輸入乙個字元,但不在螢幕上顯示。在這裡,該行的作用是等待,只有當使用者從鍵盤敲任一鍵時,程式才繼續執行,因此使用者可利用這個等待時間閱讀出錯提示。敲鍵後執行exit(1
)退出程式。
標準輸入檔案(鍵盤),標準輸出檔案(顯示器),標準出錯輸出(出錯資訊)是由系統開啟的,可直接使用。
檔案開啟後,就要對檔案進行讀寫操作,把資料存到矩陣(或向量)。檔案讀寫的函式比較多樣,fscanf,fread,等等,本文中只需要fscanf就能滿足需求。
兩處說明的地方。fid =
fopen
('1.txt'
,'r');
% change input file name and addressa=
fscanf
(fid,
'%x',[
17,inf]
);
檔案的開啟有唯讀 『r』,只寫 『wt』,讀寫 『r+t』,等多種格式;
檔案資料的錄入的編碼方式, 有』%c』 字元型,』%f』 浮點數,』%o』 八進位制,』%x』16 進製,』%d』 十進位制,』%nd』,n表示有效數字的位數;
資料格式轉換很簡單,取,放。 取,選取需要的部分資料,並用乙個矩陣(向量)儲存第二步。放,以所需的格式將資料放置到合適的位置。
a檔案得到的是16進製制資料,轉換為常用的十進位制,取出其中的有效資料(9到12位),然後排列好,便於下一步excel處理。
clear ;
fid =
fopen
('123.txt'
,'r');
% change input file namea=
fscanf
(fid,
'%x',[
17,inf]);
fid1=
fopen
('output.txt'
,'wt');
for ii=1:
length(a
) count=
fprintf
(fid1,
'%02x ',a
(9:12
,ii));
fprintf
(fid1,
'\n');
endfclose
(fid1)
;
參考資料:1.檔案的開啟(fopen函式),芸纖飄羽,csdn部落格
matlab修改txt文件內容
方法一 使用fscanf函式,但會出現問題 讀入的資料型別必須相同,否則不能讀入。方法二 按行讀取按行修改,可以完成任務要求,缺點是相對費時。以下介紹具體步驟。1 以讀的形式開啟文字 fopen 2 按行讀取文字內容 fgetl 3 將行內容儲存在陣列 結構體?中,其元素為字串。4 修改行內容 st...
Matlab讀取CAN盒生成的txt文件資料
文件內容如下 序號 傳輸方向 接收時間標識 幀id 幀格式 幀型別 資料長度 資料 0 接收 1600.8149 0x00000000 資料幀 擴充套件幀 0x05 00 00 01 00 00 1 接收 1600.8152 0x11111111 資料幀 擴充套件幀 0x06 fd 2e 63 08...
matlab將資料讀取和寫入txt文件
matlab中開啟檔案 fid fopen 檔名,開啟方式 說明 fid用於儲存檔案控制代碼值,如果fid 0,這說明檔案開啟成功。另外,在這些字串後新增乙個 t 如 rt 或 wt 則將該檔案以文字方式開啟 如果新增的是 b 則以二進位制格式開啟,這也是fopen函式預設的開啟方式。注 當用 a ...