Cell Array to .txt file

3 ビュー (過去 30 日間)
Paul Anderson
Paul Anderson 2013 年 7 月 31 日
Hi,
I am working on importing a .txt file, altering some of the text inside of it then, writing it to a new .txt file.
I import the .txt file as a cell array, perform my math then, attempt to write it back to a new .txt file.
The text I am attempting to alter is CNC code. Therefore, at the end of each line I need a semi-colon.
This is my code:
fid = fopen('newpartcode.txt','w');
for i=1:m
fprintf(fid,'%s',pcn{i,:});
fprintf(fid,';');
fprintf(fid,'\n');
end
fclose(fid);
The results I am getting look like:
%;O0000;G20;G0G17G40G49G80G90;T1M6;
When I need it to create a new line after each semi-colon
Any help is welcome

採用された回答

per isakson
per isakson 2013 年 7 月 31 日
編集済み: per isakson 2013 年 8 月 1 日
Try
str = '%;O0000;G20;G0G17G40G49G80G90;T1M6;';
cac = regexp( str, ';', 'split' );
str = sprintf( '%s;\n', cac{1:end-1} );
str
it returns
%;
O0000;
G20;
G0G17G40G49G80G90;
T1M6;
or better replace
fprintf(fid,'%s',pcn{i,:});
fprintf(fid,';');
fprintf(fid,'\n');
by
fprintf(fid,'%s;\n',pcn{i,:});
Is
%;O0000;G20;G0G17G40G49G80G90;T1M6;
how it looks in Notepad? You might want to replace '\n' by '\n\r' - mistake: it should be \r\n.

その他の回答 (2 件)

Jan
Jan 2013 年 8 月 1 日
fid = fopen('newpartcode.txt','w');
pcnT = pcn.';
fprintf(fid,'%s;\n', pcn{:});
fclose(fid);
Now there are linebreaks behind each semicolon, but you cannot see them, when the file is opened by the childish NotePad ("Editor" in German). This program insists on the old DOS linebreaks '\r\n' since Windows 3.1. All other editors can handle the \n linebreaks correctly.
In your case it matters, which kind of linebreaks the CNC machine expects. So please find out this important detail and install NotePad++ or use WordPad as standard viewer for txt files.
  1 件のコメント
Paul Anderson
Paul Anderson 2013 年 8 月 1 日
編集済み: Paul Anderson 2013 年 8 月 1 日
Jan,
Thank you for the help! I have a question for your though. What does the ".'" at the end of the pcnT=pcn.' statement do?

サインインしてコメントする。


Paul Anderson
Paul Anderson 2013 年 8 月 1 日
Guys,
Thank you both for the help. Has anyone found a setting the can be changed in Notepad that would allow the code to be displayed correctly?
  1 件のコメント
per isakson
per isakson 2013 年 8 月 1 日
There is no such setting in NotePad. Why do you use NotePad? Matlabs editor is better. The free NotePad++ is a good replacement for NotePad.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeDesktop についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by