파일의 데이터를 읽고 배열에 저장하고 싶습니다. 그런 다음이 어레이에 새로운 데이터를 삽입 한 다음이 새로운 데이터를 같은 파일에 다시 저장하여 이미있는 데이터를 삭제하십시오. 내 코드는 완벽하게 작동합니다. fopen 매개 변수에 'r +'가있을 때 필요한 데이터를 제공합니다. 그러나 파일에 다시 쓸 때 이미 파일의 데이터를 삭제하지 않고 예상대로 끝까지 추가합니다. 그러나 'r +'대신 'w +'권한을 변경하면 코드가 실행되지만 데이터가 읽히지 않거나 파일에 쓴다! 누구나 이것이 왜 그런지 알 수 있습니까? 내 코드는 아래와 같습니다. 문서에 따르면파일 읽기 및 쓰기 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