Borrar filtros
Borrar filtros

Change/modify data in file?

10 visualizaciones (últimos 30 días)
Nora
Nora el 27 de Oct. de 2013
Comentada: Nora el 28 de Oct. de 2013
How would I write a script that would replace all occurrences of the old name with the new name and saving this as a new file. To replace the string, I used strrep(), but I am not sure how to use it and to also to save changes onto a new file. What is wrong with my script?
Data file looks as so:
Vendor Customer
Acme XYZ
Tulip2you Flowers4me
Flowers4me Acme
XYZ Cartesian
My script is:
data1 = 'vendorcust.dat';
FID = fopen(data1,'w');
file = type(data1);
newdata = strrep(file, 'Acme','NewAcme');
  1 comentario
Jan
Jan el 27 de Oct. de 2013
Editada: Jan el 27 de Oct. de 2013
Please explain, why you think, that something is wrong with the script. Do not let us guess, what you found out already.

Iniciar sesión para comentar.

Respuesta aceptada

Jan
Jan el 27 de Oct. de 2013
type is not thought for importing the contents of a file, but it works. I do not see any trial to create a new file.
FileName = 'vendorcust.dat'; % "data1" is a bad name for the name of a file
Data = fileread(FileName); % Import the file's contents
Data = strrep(Data, 'Acme', 'NewAcme'); % Apply the modification
FID = fopen('vendorcust_new.dat'); % Create a new file
if FID == -1, error('Cannot open file'); end % Always check for success
fwrite(FID, Data, 'char'); % Write data
fclose(FID); % Closing is important
This is a little bit too much help for a homework question. Please consider, that submitting it without mentioning the sources is cheating. But I'm tired and it is harder to assist than to solve here. Sorry!
  1 comentario
Nora
Nora el 28 de Oct. de 2013
This does make sense. Thank you for taking the time to explain each part!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Low-Level File I/O en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by