MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB混合编程] 关于fwrite (https://www.labfans.com/bbs/showthread.php?t=8207)

tigermatlab 2009-05-09 22:45

关于fwrite
 
a=[1 2 3 4 5 6 7 8 9]

a =

1 2 3 4 5 6 7 8 9
fid=fopen('aa.txt')

fid =

3
fwrite(fid,a,'integer*4')

ans =

0
请问,fwrite的结果为什么没有把a的数据写入aa.txt中?
请高手赐教

ww8065 2009-05-10 00:52

回复: 关于fwrite
 
呵呵,试试这样
fid=fopen('aa.txt','w')

tigermatlab 2009-05-10 11:53

回复: 关于fwrite
 
谢谢你,实验证明您说的有理。
我又进行了如下实验:

a=[7 8 9]
fid=fopen('mask.seg','w') % 创建一个文件mask.seg,以便于写入数据
count=fwrite(fid,a,'int8') % 把数据a写入mask.seg
m=fread(fid) % 把写入的数据读取出来

但实验出现了如下结果:
a =

7 8 9


fid =

3


count =

3

m是一个4093×1的数组

请问m为什么会是这个结果呢?为什么有 4093个呢?

silas_xue 2009-05-10 12:05

回复: 关于fwrite
 
lz 你可以阅读一下fopen中关于fid的解释
fid is a scalar MATLAB integer, called a file identifier.

apple888 2009-05-10 16:32

回复: 关于fwrite
 
你需要将以打开的文件关闭,然后再读就得到所写入的数据

tigermatlab 2009-05-12 10:34

回复: 关于fwrite
 
[QUOTE=silas_xue;27550]lz 你可以阅读一下fopen中关于fid的解释
fid is a scalar MATLAB integer, called a file identifier.[/QUOTE]
是的,我试了,如你所言是对的。谢谢!

tigermatlab 2009-05-12 10:35

回复: 关于fwrite
 
[QUOTE=apple888;27574]你需要将以打开的文件关闭,然后再读就得到所写入的数据[/QUOTE]
是的,我试了,如你所言是对的。谢谢!


所有时间均为北京时间。现在的时间是 09:48

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.