[問題]fopen輸出的一些小問題

看板MATLAB作者 (伊武天澤)時間13年前 (2012/12/04 12:30), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
先看一小段我想要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

12/04 13:48, , 1F
1. 字元 1 的 ASCII 碼是 49
12/04 13:48, 1F

12/04 13:48, , 2F
2. 因為你使用 %f 浮點數輸出
12/04 13:48, 2F

12/04 13:49, , 3F
3. code 裡 %f 後面有空格
12/04 13:49, 3F

12/04 13:52, , 4F
fprintf(fw,'$!READDATASET ''"|MFBD|\\10-5\\
12/04 13:52, 4F

12/04 13:53, , 5F
test%d.txt\n', u);
12/04 13:53, 5F

12/04 16:33, , 6F
解決問題了 謝謝你^^"
12/04 16:33, 6F
文章代碼(AID): #1GlNnitJ (MATLAB)