write a variant of fprintf

4 次查看(过去 30 天)
Dear all, I'm trying to implement a logging facility. For that reason, I want to replace my current calls fprintf(log_fid,"some label: %d\n, some_var) for something like myfprintf("some label: %d\n, some_var) and then call fprintf from within myprintf. My problem is that I don't know how to specificy the variable arguments list, I've tried like this:
function myfprintf(varargin)
fprintf(log_fid,varargin)
end
but that obviously won't work. Any suggestions? Thanks in advance. Best regards, Juan
  1 个评论
Andrew Janke
Andrew Janke 2020-1-31
Hey, if you're doing logging in Matlab, consider trying my SLF4M framework instead of rolling your own: https://github.com/apjanke/SLF4M

请先登录,再进行评论。

采纳的回答

Jan
Jan 2012-4-18
function myfprintf(varargin)
fprintf(log_fid, varargin{:});
end
  1 个评论
Juan Cardelino
Juan Cardelino 2012-4-18
Thank you, a couple of hours after asking the question I realized myself that I forgot the {:}
It works nice.

请先登录,再进行评论。

更多回答(2 个)

supriya
supriya 2012-4-18
Try this one...
disp(sprintf('%d %d',log_fid,varargin));

supriya
supriya 2012-4-18
else
fprintf('%d %d',log_fid,varargin);

类别

Help CenterFile Exchange 中查找有关 Argument Definitions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by