Согласно вашему разъяснению цели вашего кода:
это облако точек со столбцом XYZRGB в текстовом файле, и мне нужно добавить еще один столбец к этому.
Я предлагаю вам прочитать текстовый файл по одной строке за раз, изменить строку и записать измененную строку прямо в новый текстовый файл.
Чтобы прочитать одинстрока за раз:
% Open file for reading.
fid = fopen(filename, 'r');
% Get the first line.
line = fgetl(fid);
while ~isnumeric(line)
% Do something.
% get the next line
line = fgetl(fid);
end
fclose(fid);
Чтобы написать строку, вы можете использовать fprintf
.
Вот демонстрация:
filename = 'myfile.txt';
filename_new = 'myfile_new.txt';
fid = fopen(filename);
fid_new = fopen(filename_new,'w+');
line = fgetl(fid);
while ~isnumeric(line)
% Make sure you add \r\n at the end of the string;
% otherwise, your text file will become a one liner.
fprintf(fid_new, '%s %s\r\n', line, 'new column');
line = fgetl(fid);
end
fclose(fid);
fclose(fid_new);