Вы должны быть в состоянии использовать fgets
.fopen
дает идентификатор файла, а не информацию в файле, поэтому ваш первый пример не сработает.
Если предположить, что ваш файл является текстовым (не двоичным), тогда что-то вроде следующего должно работать для копирования файла
fileA = fopen('A.dat','r');
fileB = fopen('B.dat', 'w');
while (line = fgets(fileA)) ~= -1
fprintf(fileB, line);
end
fclose(fileA);
fclose(fileB);
fgets
дает вам всю строку (включая символы новой строки) из текстового файла.
Если ваш файл является двоичным, то будет работать что-то вроде следующего
fileA = fopen('A.dat', 'r');
fileB = fopen('B.dat', 'w');
AData = fread(fileA);
fwrite(fileB, AData);
Примечание: К сожалению, у меня нет matlab на этом компьютере, поэтому я не смог протестировать примеры.
Для получения дополнительной информации о различных функциях файла, которые есть в matlab: http://www.mathworks.com/help/techdoc/ref/f16-5702.html#f16-14516