write a variant of fprintf

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 Comment

Hey, if you're doing logging in Matlab, consider trying my SLF4M framework instead of rolling your own: https://github.com/apjanke/SLF4M

Sign in to comment.

 Accepted Answer

Jan
Jan on 18 Apr 2012
function myfprintf(varargin)
fprintf(log_fid, varargin{:});
end

1 Comment

Thank you, a couple of hours after asking the question I realized myself that I forgot the {:}
It works nice.

Sign in to comment.

More Answers (2)

supriya
supriya on 18 Apr 2012

0 votes

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

0 votes

else
fprintf('%d %d',log_fid,varargin);

Categories

Asked:

on 18 Apr 2012

Commented:

on 31 Jan 2020

Community Treasure Hunt

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

Start Hunting!