Writing string and numerical values to same line in .txt file
6 次查看(过去 30 天)
显示 更早的评论
Hi! I need to write data from matlab workspace to a .txt file. This is not the problem. However, writing a string followed by a numerical value on the same line I've not managed to solve.
The attached file(txt-fil) depict the current .txt file with the faulty line highlited. The below code produces said file, including the faulty line, which is caused by the code entry "...'Nsecs='... and the entry below "....'Amodl='... The two code lines needs altering, but I don't know how. The end result should look like the second attachment(txt-fil_2), where Nsecs and Amodl is stacked with their corresponding numerical values.
filename = 'modell_septic.txt';
fid = fopen(filename,'w+');
if fid ~= -1
fprintf(fid, [oppirom 'Modellfil for SEPTIC' '\r\n']);
fprintf(fid, [oppirom 'Nsecs=' ' ' '%f' 1 '\r\n']);
fprintf(fid, [oppirom 'Amodl=' ' ' 200 '\r\n']);
fprintf(fid,'%f %f %f %f \r\n',mat);
fclose(fid);
Any help or ideas are appreciated. Thanks!
0 个评论
采纳的回答
dpb
2016-4-2
secs=1; % define as variables; hardly worth the effort as fixed strings...
modl=200;
...
fprintf(fid,'%10s=%5d\n','Nsecs',1);
fprintf(fid,'%10s=%5d\n','Amodl',200);
...
Use the 't' optional flag in the fopen call to force the OS-dependent \n sequence automatically. The old Notepad is almost the only still-extant app that doesn't handle it gracefully...
fid = fopen(filename,'wt+');
I suggest first trying w/o it and with only '\n' and see if you do have an issue; if so, then use the 't' as shown...
2 个评论
dpb
2016-4-2
No problem, you were mixing up format strings and outputs; format is always first then the outputs trail...
And, of course, I really intended
fprintf(fid,'%10s=%5d\n','Nsecs',secs);
fprintf(fid,'%10s=%5d\n','Amodl',modl);
...
with the variables in the locations for the constants, of course...
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!