如何使用fprintf打印箭头链

Mar*_*ona 1 matlab printf

我正在寻找一种设置fprintf函数的方法,以便它返回1->2->...->n任何输入n 的字符串。但是,如果不在->1->2->...->n字符串的开头()或结尾()附加一个多余的箭头,我将找不到解决方法1->2->...->n->。有没有解决的办法?

Wol*_*fie 5

You could use strjoin for this...

n = 4;
str = strjoin( arrayfun(@num2str, 1:n, 'uni', 0), '->' );

% str = '1->2->3->4'
Run Code Online (Sandbox Code Playgroud)

或者,如果您打算使用fprintf(或sprintf),则可以手动添加第一个元素(为方便起见,假设n >= 1

str = ['1', sprintf('->%.0f', 2:n )];
Run Code Online (Sandbox Code Playgroud)

如果您只想将它​​们打印到“命令窗口”,则只需disp在任一选项上使用,而不是(或在之后)分配给str。如果您使用写入文件,fprintf则只需使用fprintf( fid, [str '\n'] )将行打印到文件即可。