我想讀取文件中的數據並將其保存到數組中。然後在該數組中插入一些新數據,然後將這些新數據保存到同一個文件中,刪除已存在的數據。當我在fopen參數中有'r +'時,我的代碼工作完美,給了我所需的數據,但是當我再次寫入文件時,它不會刪除文件中已有的數據,只是將其追加到末尾。但是,當我將權限更改爲'w +'而不是'r +'時,我的代碼會運行,但是沒有數據讀入或寫入文件!任何人都知道爲什麼會出現這種情況?我的代碼如下所示。讀取和寫入文件matlab
N = 1021;
b = [0;0;0;0;0];
% Opens file specified by user.
fid = fopen('testing','w+');
% Read header data
Header = fread(fid, 140);
% Move to start of data
fseek(fid,140,'bof');
% Read from end of config header to end of file and save it in an array
% called data
Data = fread(fid,inf);
Data=reshape(Data,N,[]);
b=repmat(b,[1 size(Data,2)]);
r=[b ; Data];
r=r(:);
r = [Header;r];
% write new values into file
fwrite(fid,r);
fclose(fid);
% Opens file specified by user.
fid = fopen('test');
All = fread(fid,inf);
fclose(fid);
完美的謝謝。 – user2887210