mattlab: удалить символ SUB из конца текстового файла - PullRequest
0 голосов
/ 25 апреля 2018

Я импортирую текст в Matlab, используя importdata

A = importdata(logFile, '\t', 1);

это работает нормально, если только символ "SUB" находится в конце файла. enter image description here

В этом случае я получаю ошибку

Ошибка в matlab.graphics.internal.figfile.FigFile /> прочитать (@ hObject, данныеСобытия) uiProjekt ( 'menuEvalAllData_Callback', hObject, данныеСобытия, guidata (hObject))

вызвано: Ошибка при использовании vertcat Размеры матриц бывают сцепленные не являются последовательны.

Мой вопрос: как я могу обойти эту ошибку? Простейшей идеей было бы удалить символ из файла раньше. Но как мне эффективно удалить один символ из большого текстового файла?

1 Ответ

0 голосов
/ 25 апреля 2018

Вы можете использовать strrep вместо символа SUB. strrep довольно эффективен и должен работать быстро даже с большими файлами.

Десятичное значение символа SUB в ASCII равно 26.

Вот пример кода, который удаляет символ SUB из входного файла input.txt:

% Open files:
inputID  = fopen('input.txt','r');
outputID  = fopen('output.txt','w');

file_data=fread(inputID,'*char')'; % Read all data from input file
file_data_fixed = strrep(file_data,char(26),''); % Find and replace the SUB char with blank
fprintf(outputID,'%s',file_data_fixed); % Print all data (without SUB) to output file

% Close files:
fclose(inputID);
fclose(outputID);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...