Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-05-09, 22:45   #1
tigermatlab
初级会员
 
注册日期: 2007-08-05
帖子: 5
声望力: 0
tigermatlab 正向着好的方向发展
默认 关于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中?
请高手赐教
tigermatlab 当前离线   回复时引用此帖
旧 2009-05-10, 00:52   #2
ww8065
初级会员
 
注册日期: 2009-05-10
帖子: 2
声望力: 0
ww8065 正向着好的方向发展
默认 回复: 关于fwrite

呵呵,试试这样
fid=fopen('aa.txt','w')
ww8065 当前离线   回复时引用此帖
旧 2009-05-10, 11:53   #3
tigermatlab
初级会员
 
注册日期: 2007-08-05
帖子: 5
声望力: 0
tigermatlab 正向着好的方向发展
默认 回复: 关于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个呢?
tigermatlab 当前离线   回复时引用此帖
旧 2009-05-10, 12:05   #4
silas_xue
高级会员
 
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26
silas_xue 是一个将要出名的人
默认 回复: 关于fwrite

lz 你可以阅读一下fopen中关于fid的解释
fid is a scalar MATLAB integer, called a file identifier.
silas_xue 当前离线   回复时引用此帖
旧 2009-05-10, 16:32   #5
apple888
初级会员
 
注册日期: 2008-04-22
年龄: 47
帖子: 2
声望力: 0
apple888 正向着好的方向发展
默认 回复: 关于fwrite

你需要将以打开的文件关闭,然后再读就得到所写入的数据
apple888 当前离线   回复时引用此帖
旧 2009-05-12, 10:35   #6
tigermatlab
初级会员
 
注册日期: 2007-08-05
帖子: 5
声望力: 0
tigermatlab 正向着好的方向发展
默认 回复: 关于fwrite

引用:
作者: apple888 查看帖子
你需要将以打开的文件关闭,然后再读就得到所写入的数据
是的,我试了,如你所言是对的。谢谢!
tigermatlab 当前离线   回复时引用此帖
旧 2009-05-12, 10:34   #7
tigermatlab
初级会员
 
注册日期: 2007-08-05
帖子: 5
声望力: 0
tigermatlab 正向着好的方向发展
默认 回复: 关于fwrite

引用:
作者: silas_xue 查看帖子
lz 你可以阅读一下fopen中关于fid的解释
fid is a scalar MATLAB integer, called a file identifier.
是的,我试了,如你所言是对的。谢谢!
tigermatlab 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



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


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