http://forum.vibunion.com/thread-8937-1-1.html 谢谢了,刚好编个东西在找这方法。 如果文件是这样的:
GRCOF2 0 0 -.193957052819E-10 0.000000000000E+00 0.0000E+00 0.0000E+00 030201.000000 030301.000000 nnnn
GRCOF2 1 0 -.113915075871E-09 0.000000000000E+00 0.0000E+00 0.0000E+00 030201.000000 030301.000000 nnnn
GRCOF2 1 1 -.522107693958E-10 0.145115258043E-09 0.0000E+00 0.0000E+00 030201.000000 030301.000000 nnnn
GRCOF2 2 0 0.116073276851E-09 0.000000000000E+00 0.0000E+00 0.0000E+00 030201.000000 030301.000000 nnnn
我要把其中的数据读出来,应该怎么写呢? 原帖由 wangyongq246 于 2006-9-7 22:14 发表
如果文件是这样的:
GRCOF2 0 0 -.193957052819E-10 0.000000000000E+00 0.0000E+00 0.0000E+00 030201.000000 030301.000000 nnnn
GRCOF2 1 0 -.113915075871E-09 0.00000 ...
用http://forum.vibunion.com/thread-8937-2-1.html提供的方法
好呀
请问我按楼主说的程序运行了以下 结果有错,拜求为什么fidin=fopen('test2.txt'); % 打开test2.txt文件
fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读行
if double(tline(1))>=48&&double(tline(1))<=57 % 判断首字符是否是数值
fprintf(fidout,'%s\n\n',tline); % 如果是数字行,把此行数据写入文件MKMATLAB.txt
continue % 如果是非数字继续下一次循环
end
end
电脑提示:
??? Error using ==> feof
Invalid fid. 文件内容形式二
这个方法很有用!
谢谢了!
中文怎么读入啊?
load好像不行 原帖由 wsli111 于 2006-10-15 01:44 发表请问我按楼主说的程序运行了以下 结果有错,拜求为什么
fidin=fopen('test2.txt'); % 打开test2.txt文件
fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件
while ~feof(fidin) % 判断是否为文件末 ...
那是因为你的工作目录下不存在test2.txt这个文件 牛人,绝对经典的好帖
回复 沙发 frogfish 的帖子
整理此老帖并学习形式二文件的读取, 是有用可行的!
但个人较不习惯如此, 都已经使用fopen/fgetl...等函数了, 好像再使用fscanf即可, 不必要使用fprintf输出在输入!
个人看法 谢谢分享!
页:
1
[2]