Shouldn't fprintf(s) work for any string s?

3 次查看(过去 30 天)
Hi,
I have a structure array that I want to write to a file. I initially used evalc to do this, but found that Rody Oldenhuis's toString function gave a more informative string. It turns out, however, that I am not able to write the resulting string to a file (or to stdout) with fprintf. The following:
s = toString(myStruct);
fprintf(s)
returns gibberish, even though s is a character array as it should be. I thought fprintf worked for all strings. What am I missing?
  3 个评论
Jan
Jan 2013-10-14
@Alec: Please show us an example of what "gibberish" means.
Alec Nagel
Alec Nagel 2013-10-14
@David: I am using the Matlab Central one. The builtin tostring function from the DSP toolbox seems to be made for a more specific task.

请先登录,再进行评论。

采纳的回答

Jan
Jan 2013-10-14
编辑:Jan 2013-10-14
fprintf works for strings, but interprets escape characters. Compare:
fprintf('hello, this is a \n backslash');
fprintf('%s', 'hello, this is a \n backslash');
Similar problems occur for %. So better use the '%s' format specifier to display strings.
[EDITED after your comment] I assume "multi-line-string" means a CHAR matrix. A short example would have revealed this immediately. Then:
CStr = cellstr(Str);
fprintf('%s\n', CStr{:});
Please care for adding a helpful example to reduce the time we waste with guessing.
  3 个评论
Alec Nagel
Alec Nagel 2013-10-14
[After your edit.] Sorry about that, Jan, I'll make sure I include an example next time.
And thanks for your help! I am very impressed with your work in here.
Jan
Jan 2013-10-14
Thanks, Alec. There is no need to say sorry, because you are the one who suffers most from a delayed solution. It is the nature of a question, that it is not clear in the beginning, which information is important and which is not.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by