Как узнать порядковый номер файла? - PullRequest
2 голосов
/ 04 марта 2011

Как я могу определить, является ли это файл с прямым или прямым порядком байтов?Я просто попытался написать файл с прямым порядком байтов с помощью Matlab, но, вероятно, это не сработало.Теперь я хочу узнать, возможно ли узнать, что это за тип.Любое предложение?

Ответы [ 2 ]

6 голосов
/ 04 марта 2011

В общем случае невозможно узнать, был ли данный файл данных создан с использованием байтового байта с прямым порядком байтов или байтов с прямым порядком байтов. Вам нужно будет что-то знать о типе файла (если он имеет стандартный формат, который использует только один или другой) или о типе системы , в которой файл был создан на .

Когда вы используете fopen для открытия файла в MATLAB, вы должны указать, какой порядковый формат использовать для этого файла, используя входной аргумент machinefmt. Если вы не укажете формат, по умолчанию MATLAB будет использовать собственный формат компьютера (который не будет корректным для файлов, созданных на компьютерах с различными форматами байтов). Это использование fopen:

[filename, permission, machinefmt] = fopen(fileID);

Просто скажет вам, в каком порядке байтов вы использовали файл, чтобы открыть файл, что может или не может быть правильным для данного файла.

2 голосов
/ 04 марта 2011

Используйте FOPEN :

fileID = fopen(fileName)
[filename, permission, machineformat] = fopen(fileID)

Третий вывод, machineformat, сообщает вам, является ли он большим или младшим ('l').1009 *

...