首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用fprintf时没有获得新行

使用fprintf时没有获得新行
EN

Stack Overflow用户
提问于 2019-05-16 13:00:25
回答 2查看 1.1K关注 0票数 0

我为pyhtagorean值编写了一个小函数:

代码语言:javascript
运行
复制
function c = pyth(a,b)
% Takes two inputs of same size and returns the pythagorean of the 2 inputs
if size(a) == size(b) % checks for same size
    c = sqrt(a.*a + b.*b);  % calculates the pythagorean value
else
    fprintf('Error: Input sizes are not equal'); % returns if sizes are not the same
end

它正常工作,但返回后,“>>”与输出位于同一行,而不是在输出下面的新行上。这只是fprintf的情况。在此:

代码语言:javascript
运行
复制
>> pyth([1 2;3 4],[5 6;7 8])
ans =
    5.0990    6.3246
    7.6158    8.9443
>>
代码语言:javascript
运行
复制
>> pyth([1 2],[1 2;3 4])
Error: Input sizes are not equal>> 

我怎么才能解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-16 13:23:10

fprintf通常用于写入文件(因此在开始时是f )。当写入(文本)文件时,确保操作系统独立的换行的方法是在字符串的末尾添加\r\n (也称为CRLF或[char(10) char(13)])。当打印到控制台时,这似乎并不重要(例如,\n也在运行于Linux上的MATLAB中工作)。

几个小窍门:

  • 您可以使用dispdisplay代替,因为它们为您添加换行符。
  • 如果您想显示错误,为什么不使用error
  • 如果您使用fprintf打印错误,您可能需要从fprintf(2, ... )开始,因为这将将文本打印到stderr,使其呈现错误颜色(通常为红色)。
票数 3
EN

Stack Overflow用户

发布于 2019-05-16 13:03:33

对换行符使用\n:

代码语言:javascript
运行
复制
fprintf('Error: Input sizes are not equal\n');
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56169207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档