fprintf 不打印新行

发布于 2024-11-17 16:37:24 字数 437 浏览 1 评论 0原文

我正在尝试使用 fprintf() 命令将 [2 x N] 双倍大的数组发送到文本文件。我遇到的问题是 fprintf() 无法识别新行命令 (\n) 或回车命令 (\r) 。我正在使用的代码是

fid = fopen([Image.Dir,'CtlPts_',Image.Files{k},'.txt'],'w');
fprintf(fid,'%.4f\t%.4f\n',control_points{k});
fclose(fid);

我尝试打印的数据位于单元格 control_points{k} 中的位置。

该选项卡打印得很好,但文本文件中的所有内容都打印在一行上,所以这就是为什么我假设它忽略我的新行字符。

我的语法是否存在我没​​有看到的问题?

I am trying to send an array that is [2 x N] doubles large to a text file using the fprintf() command. I am having problems in that fprintf() is not recognizing the new line command (\n) or the carriage return command (\r). The code I am using is

fid = fopen([Image.Dir,'CtlPts_',Image.Files{k},'.txt'],'w');
fprintf(fid,'%.4f\t%.4f\n',control_points{k});
fclose(fid);

where the data I am trying to print is in the cell control_points{k}.

The tab gets printed fine, but everything in the text file gets printed on one line, so this is why I am assuming that it is ignoring my new line character.

Is there something wrong with my syntax that I am not seeing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

送舟行 2024-11-24 16:37:24

我知道在许多系统上, \n 不足以创建您所要求的内容(因此,也许您必须执行 \r\n )

I know that on many systems, \n is not enough to create what you're asking for (and so, maybe you have to do \r\n)

生生不灭 2024-11-24 16:37:24

另一种解决方案是打开文本中的文件模式,这样 MATLAB 会在 Windows 系统上的输出中的任何换行符 \n 字符之前自动插入回车符 \r

fid = fopen('file.txt', 'wt');
fprintf(fid, '%f\t%f\n', rand(10,2));
fclose(fid);

请注意,这有些不必要,因为大多数编辑器(Microsoft 除外)记事本)识别 Unix/Mac/Windows 行结尾。

An alternative solution is to open the file in text mode, that way MATLAB automatically inserts a carriage return \r before any newline \n character in the output on Windows systems:

fid = fopen('file.txt', 'wt');
fprintf(fid, '%f\t%f\n', rand(10,2));
fclose(fid);

Note that this is somewhat unnecessary, since most editors (with the exception of Microsoft Notepad) recognize Unix/Mac/Windows line endings.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文