作者e01234567 (伊武天澤)
看板MATLAB
標題[問題]fopen輸出的一些小問題
時間Tue Dec 4 12:30:34 2012
先看一小段我想要key進記事本文字裡的檔案
#!MC 900
$!VarSet |MFBD| = 'D:\fplot\tEC90\bin'
$!EXPORTSETUP EXPORTFORMAT=AVI
$!EXPORTSETUP ANIMATIONSPEED=10
$!EXPORTSETUP IMAGEWIDTH=600
$!EXPORTSETUP EXPORTFNAME='D:\fplot\tEC90\bin\testmv.avi'
$!EXPORTSTART
$!READDATASET '"|MFBD|\10-5\test1.txt" ' <<這裡開始迴圈有規律
READDATAOPTION = NEW
RESETSTYLE = NO
INCLUDETEXT = NO
INCLUDEGEOM = NO
INCLUDECUSTOMLABELS = NO
VARLOADMODE = BYNAME
VARNAMELIST = '"X" "Y" "H"'
$!EXPORTNEXTFRAME
$!READDATASET '"|MFBD|\10-5\test2.txt" '
READDATAOPTION = NEW
RESETSTYLE = NO
INCLUDETEXT = NO
INCLUDEGEOM = NO
INCLUDECUSTOMLABELS = NO
VARLOADMODE = BYNAME
VARNAMELIST = '"X" "Y" "H"'
$!EXPORTNEXTFRAME
$!READDATASET '"|MFBD|\10-5\test3.txt" '
READDATAOPTION = NEW
RESETSTYLE = NO
INCLUDETEXT = NO
INCLUDEGEOM = NO
INCLUDECUSTOMLABELS = NO
VARLOADMODE = BYNAME
VARNAMELIST = '"X" "Y" "H"'
$!EXPORTNEXTFRAME
往上看會發現有規律,就是只在test1那邊會有變化數字
所以我試寫了一個小迴圈來測定我寫得對不對
fw=fopen(['J:\Program Files\MATLAB\R2012a\bin\10-5\testr.txt'], 'w');
fprintf(fw,' VARIABLES=X,Y,H');
for u=1:2
fprintf(fw,'\r\n');
fprintf(fw,'$!READDATASET ''"|MFBD|\\10-5\\test%f \n',num2str(u));
fprintf(fw,'.txt" ''');
fprintf(fw,'\r\n');
end
fclose(fw);
結果我打開記事本會出現
VARIABLES=X,Y,H
$!READDATASET '"|MFBD|\10-5\test49.000000 .txt" '
$!READDATASET '"|MFBD|\10-5\test50.000000 .txt" '
此時我出現了3個疑點.....
疑點1.為什麼數字是從49開始跑 而不是從1開始跑
疑點2.為什麼小數點後面會有六位那麼多..該怎麼消除
疑點3.為什麼test49.000000和後面的.txt"'中間有兩個空格
因為我不知道如何在同一個fprintf裡
同時打上文字+ num2str 再+文字
所以我只好分兩段寫..結果則是會跑出兩個空格..
有請高手們幫忙解答..感恩
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.229.231
1F:推 CBET:1. 字元 1 的 ASCII 碼是 49 12/04 13:48
2F:→ CBET:2. 因為你使用 %f 浮點數輸出 12/04 13:48
3F:→ CBET:3. code 裡 %f 後面有空格 12/04 13:49
4F:推 CBET:fprintf(fw,'$!READDATASET ''"|MFBD|\\10-5\\ 12/04 13:52
5F:→ CBET: test%d.txt\n', u); 12/04 13:53
6F:→ e01234567:解決問題了 謝謝你^^" 12/04 16:33