fprintf写作然后阅读

时间:2017-08-03 14:49:28

标签: matlab printf notepad++ fopen

我试图在Matlab中导出包含Anys网格(* .node)的节点坐标的2D矩阵。在这方面,我只是在Matlab中使用fopen和fprintf命令。例如:

========================================

fid = fopen('c:\new_nodes.node', 'wt'); fprintf(fid,'%3d %10.4e %10.4e %19.4e\n',new_nodes'); % new_nodes : my 2D matrix

=======================================

生成的文件的内容没问题,但是我无法在Ansys中读取它,当我在Notepad ++中打开这个文件(例如,new_nodes.node)并执行"另存为"时,它变得可读! !如果你能帮助我找出Matlab代码的问题以及如何解决这个问题,那将是很棒的... 提前谢谢,

1 个答案:

答案 0 :(得分:0)

线刹车可能出错。

w而不是wt

打开文件

添加t matlab后,在\r

之后添加\n

[edit @ 17:22]

fid = fopen('new_nodes.node', 'wt');
fprintf(fid,'%3d %10.4e %10.4e %19.4e\n',[pi 2.1 exp(1) 2.5]);
fclose(fid);
fid = fopen('new_nodes.node','r');
B = fread(fid,inf,'*uint8');
fclose(fid);

现在B包含56个总和为2664的值。你得到了什么?

如果我使用记事本++保存它new_nodes2.node,我会得到与B完全相同的值。