在matlab中读取包含换行符的stdin

时间:2017-09-14 01:56:00

标签: matlab

stdin可以使用input函数在Matlab中读取,如this post中所示。例如:

printf "1\t2\n" | matlab -nojvm -nodesktop -nosplash -r "str=input('','s')"

尝试读取包含多个换行符的数据失败,因为第一个信号指示input命令的结束:

printf "1\t2\n3\t4\n" | matlab -nojvm -nodesktop -nosplash -r "str=input('','s')"
  str =  1    2
  >>     3    4
         |
  Error: Unexpected MATLAB expression.

我尝试了其他可能性,包括fscanf(0,...)fscanf('',...)fopen(0,'r')fopen('','r'),但无济于事。我想读取从另一个进程传输的制表符分隔数据的行,理想情况是直接进入单元格数组,或者读成一个我可以解析自己的字符串。我当然可以循环input直到流的结尾,但我想知道是否有一些方法可以立即收集所有输入。

0 个答案:

没有答案