作者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