Info

此问题已关闭。 请重新打开它进行编辑或回答。

Writing content in a text file dynamically based on an input variable

1 次查看(过去 30 天)
I have a text file in which you have the following statements in the middle of text file(there are other statements starting with set word).
set TC_SYS_01 0
set TC_SYS_02 0
...
set TC_SYS_38 0
Now based on an input from GUI(say 500),i have to copy all of contents of above text file only with the following lines changed to
set TC_SYS_01 0
set TC_SYS_02 0
...
set TC_SYS_500 0
----------------------------------------------- My Code:------------------------------------------------
content = fileread('run.txt');
length = regexp(content, '(?<=set TC_SYS_\d*\s+)[01]');
% the above line is just to know how many lines of set TC_..... are present;
% input is 500,
%%%%%%%%%%%%%%%%
fid = fopen('run.txt','r');
tline = fgets(fid);
if strcmp(tline,'set TC_SYS_%d',length)
index = ftell(tline);
end
for i = length:N
% fprintf(index + 1) ??
% how to write statements after this ?
end
%%%%%%%%%%%%%%%%%
fid = fopen('run1.txt','w');
fwrite(fid,??);
fclose(fid);
If possible from the original text file which has those 38 lines of "set ...",i want to copy rest of the stuff into a new txt file & iin the new txt file i write afresh N lines of "set ...."
  2 个评论
Geoff Hayes
Geoff Hayes 2015-10-17
Luffy - to be clear, you want to insert lines of text into the middle of your text file. Is this correct?
Luffy
Luffy 2015-10-18
Yes. If input is 500 then insert 500 lines, If input is 40 then insert 40 line,

回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by