Copy a txt file and change a line by a other

3 visualizzazioni (ultimi 30 giorni)
Dear I have a problem to copy from a txt file to another one, and change a specific line i have found the copy file option
file_A = 'Ok_A.txt';
file_B = 'Ok_B.txt';
copyfile(file_A,file_B)
But i cannot go further

Risposta accettata

Walter Roberson
Walter Roberson il 23 Mar 2016
copyfile() is not appropriate for this. You need to fopen() one file for input and the other for output, and then copy the input to the output until you get to the line that is to be changed. Output the changed version of the line rather than the original version of the line. Then continue copying input to output until the end of file. Then fclose() the two files.
There is no way to make a change in the "middle" of a text file -- not unless the new text is exactly the same size as the original text. This is not a restriction imposed by MATLAB: it is a restriction on all file systems that have been implemented by vendors over the last 30-ish years.
  4 Commenti
Lila wagou
Lila wagou il 24 Mar 2016
Dear Walter, thank you lot. Please, a small change in the 4 line
fid_out = fopen('OK_B.txt', 'w');
Thank
Walter Roberson
Walter Roberson il 24 Mar 2016
fid_in = fopen('Ok_A.txt', 'r');
fid_out = fopen('Ok_B.txt', 'w');
You can change the strings to whatever you need.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by