MATLAB: Fid value suppressing fprintf

debugfidfprintf

I'd like to make a program to display something when it is in a debug mode. Say,
fid = 0
fprintf(fid, 'do not display this')
fid = 1 % debug
fprintf(fid, 'print this')
I already know that 1 is for stdout, 2 is for stderr. However, it doesn't work when fid == 0.
And I am curious that which number suppresses fprintf?

Best Answer

There is no fid the suppresses fprintf. Consider something like,
function dfprintf(DEBUG,varargin)
DEBUG && fprintf(varargin{:});
end
with a small bit of work you can make DEBUG a shared variable and use
dfprintf = @(varargin) DEBUG && fprintf(varargin{:});