Вывести объединенную строку на экран и в текстовый файл с помощью matlab

Это очень простой вопрос, но так как я новичок в Matlab, я изо всех сил пытаюсь найти хороший способ сделать это. Я просто хочу напечатать несколько связанных строк на экране и в текстовом файле. Матлаб "ест" \n!!

str1 = sprintf('Line 1\n');
str2 = sprintf('Line 2\n');
finalStr = strcat(str1,str2);
% Print on screen
fprintf('%s',finalStr );
% Result: Line 1Line 2. What happened to the \n ?? !!!!

% Print on file
[curPath,name,ext] = fileparts(mfilename('fullpath'));
infoPath = fullfile(curPath,'MyFile.txt');
fid = fopen(infoPath,'w'); % Write only, overwrite if exists
fprintf(fid,finalStr);
fclose(fid);

Мне также нужно сохранить finalStr в текстовый файл. Что мне здесь не хватает?

2 ответа

Решение

Функция strcat игнорирует пробелы. Для выполнения этой операции используйте:

finalStr = [str1, str2];
fprintf('%s',finalStr );

результат:

Line 1 
Line 2

Редактировать: Чтобы написать текст в текстовом файле в "Блокноте":

% Notepad needs \r also.
newline = sprintf('\n');
newlineNotepad = sprintf('\r\n');
strB = strrep(strA, newline, newlineNotepad);

Вы также можете отказаться от использования strcat полностью:

fprintf('%s%s',str1, str2);
Другие вопросы по тегам