how to fread not a file, but a vector that equals fread a file in binary form?

4 ビュー (過去 30 日間)
raym
raym 2019 年 9 月 1 日
回答済み: Guillaume 2019 年 9 月 1 日
I have a vector
aVec = [45,234,123,.........]
% that is equivalent to:
% fread(anyfile, 'r')
I want to read that vector as text file and get lines:
fid = fopen( filepath, 'rt')
fgetline(fid)
Is there a way that skips the file writing to hardisk and directely read the vector as file?
Maybe
java.io.StringBufferInputStream
or other ways?

採用された回答

Guillaume
Guillaume 2019 年 9 月 1 日
There is not fread(fileid, 'r'), there is a fopen(filename, 'r') but that tells us nothing about how you read the file initially.
Assuming that you've read the file as fread(fileid), then what you've got is the sequence of bytes (inefficiently stored as double) and converting that back to characters may just be simply:
chardata = char(aVec);
if you want to split that into lines:
lines = strsplit(char(aVec), {'\n', '\r'})
The above assumes that the file text encoding is the same as that used by matlab. If not, you'll have to use native2unicode with the proper encoding first.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFile Operations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by