Matlab文件IO-文本与数值的写

Matlab文件IO--文本与数值的写

1. 写纯数值的文本文件

Matlab文件IO-文本与数值的写

%% 写纯数值的文本文件
dat1 = rand(3,5)
dlmwrite('dat1.txt',dat1,'delimiter','\t','newline','pc');   %'pc':PC terminator (implies carriage return/line feed (CR/LF))
                                                             % 采用dlmwrite函数将dat1写入文本文件dat1.txt
fid = fopen('dat2.txt','wt');      %以只写、文本模式打开或创建文本文件dat2.txt
fprintf(fid,'%5.4f 5.4f %5.4f 5.4f 5.4f\n',dat1);
fclose(fid);

2. 写纯文本的文本文件

Matlab文件IO-文本与数值的写
%% 写纯文本的文本文件
content = {'自动滚屏';...
           '1.可以控制浏览器自动滚动页面,这在浏览一些超长的网页时相当有用。';...
           '2.您也可以控制滚动速度,和选择不同的速度控制方式。';...}
           '3.鼠标控制滚动速度:把鼠标停留在滚动条上,鼠标指针位置越靠近下方,滚动速度越快。'}
% % % % %以下采用fprintf函数实现写纯文本到文本文件dat1.txt中 % % % % %
fid = fopen('dat1.txt','wt');
str = str2mat(content);
format = [repmat('%c',1,size(str,2)) '\n'];
fprintf(fid, format,str');  %按指定格式将字符数组写入文本文件dat1.txt中
fclose(fid); 

fid = fopen('dat2.txt','wt');       %以只写、文本模式打开文件dat2.txt
str = str2mat(content) %将字符串单元数组转化为字符数组str,便于fwrite函数写操作
mLine = size(str,1)                 %字符数组str的行数
mCol = size(str,2)
str1 = zeros(mLine, mCol+2);     %扩展字符数组str,在最右侧添加两列字符:'\r\n'
str1(:,1:end-2) = str;
str1(:,end-1:end) = char(repmat(sprintf('\r\n'),mLine,1))
fwrite(fid,str1,'char');  % writes the elements of array A to 
                          % a binary file in column order.
fclose(fid);

3.  写文本和数值混合的文本文件

Matlab文件IO-文本与数值的写
%% 写文本和数值混合的文本文件
head = '序号       班名       学号       姓名      平时成绩     期末成绩';
text = {'51121','5112101','陈';
        '51121','5112103','李';
        '51121','5112105','刘'};
num = [0   63;
       0   73;
       0   88];
% % % % % % % %以下为将数据存入data.txt的程序代码% % % %
fid = fopen('data.txt','wt');
fprintf(fid,[head '\n']);
for i = 1:3
    fprintf(fid,'%d    %s    %s    %s    %d    %d\n',i,text{i,1},...
        text{i,2},text{i,3},num(i,1),num(i,2));
end
fclose(fid);