在我的程序中,我想保存计数器值。像1一样,如果计数器增加,则1将替换为2。我在目录中创建了一个文件test.txt
并手动输入了一个数字1
,并使用此代码读取该数字。
f=fopen('test.txt');
cno=fread(f);
cno
fclose(f);
但cno
的值是ASCII格式我猜是因为它在文件中保存了这样。
我尝试使用像parseInt这样的函数,但没有工作。
请告诉我如何编写以及从文件中读取数字。
此外,如果有任何其他方法可以保存该计数器值而不是文件。我想保留价值,即使我关闭了matlab代码,这就是为什么我将它保存到文件中。
答案 0 :(得分:1)
这有几种方法。如果您不需要确保与外部程序的兼容性,则MATLAB的save
和load
命令应该足够了。
一个基本的例子:
a = 5;
save('test.mat', 'a');
clear a
load('test.mat');
disp(a)
有关语法信息,请参阅save
的文档。
作为一般说明,我建议使用声明的输出调用load
,这会将保存的*.mat
文件中的所有变量加载到结构中,从而防止它们覆盖工作空间中的现有数据
使用上一个示例中的test.mat
:
mydata = load('test.mat');
disp(mydata.a)
编辑:现在,如果您想将其存储到通用文件中,最常用的方法是使用fprintf
和fscanf
:
a = 5;
fID = fopen('test.txt', 'w+');
fprintf(fID, '%u', a);
fclose(fID);
clear a
fID = fopen('test.txt', 'r')
a = fscanf(fID, '%u');
fclose(fID);