File Exchange

image thumbnail

fprintf_r - Carriage Return without Linefeed

version (2.09 KB) by Florian Dignath
For the MATLAB Command Window as replacement of fprintf('\r') which does not work on Windows ...10.


Updated 14 Sep 2018

View License

Matlab function for doing a carriage return (without linefeed!) followed by some output using fprintf.
This is useful, e.g. to replace the display of a counter i in the style:
fprintf('\r %f',i), because the \r format is not working properly on windows systems.

Input is a string s and a variable x which are forwarded to the fprintf command as fprintf(s,x). Use a vector for x in case you want to display several variables at once.

In the first call of this function, nothing else is done. Starting with the second call, the corresponding number of backspaces is inserted before executing fprintf(s,x), so the output starts at the place it would have started without the first fprintf command.

If 'reset' is given as the 3rd argument, the script deals with s and x as in the first call of the function.

If 'reset' is given as the 1st and only argument, the next call will be treated as a "first" call, again.

fprintf_r(s, x[, 'reset']) or

for i = 1:110
fprintf_r('%i', i);

N.B: This function is not necessary on UNIX systems, as \r is working fine there.

Comments and Ratings (2)

Works a treat; Thanks :-)


Only used the basic functionality, but it's pretty cool.



nargchk replaced by narginchk for compatibility with new MATLAB releases.

This script is still useful on Windows 7-10 because fprintf('\r') does still not work there.

MATLAB Release Compatibility
Created with R2016b
Compatible with R2011b to any release
Platform Compatibility
Windows macOS Linux