I am Charmie

メモとログ

textscan関数

ファイルからブロック単位でデータを取得する関数.

例)
ファイル'test.txt'の中身が'%s %d %d'というフォーマット. 頭1行がヘッダ情報.
ImageName Width Height
1.png 320 240
2.png 400 300
3.png 160 120
・・・
100.png 10 8

% ファイルオープン
fid = fopen('test.txt');
% ヘッダ情報の取得
str_head = textscan(fid, '%s', 3); or str_head = textscan(fid, '%s %s %s');
% データをブロック単位で取得
str_block = textscan(fid, '%s %d %d');

str_blockは1x3のcell配列.
str_block{1}は100x1のcell配列で,1.png ~ 100.pngがセル形式で格納されている.
ファイル名を取得したい場合は,str_block{1}(n)でstring型として取得できる.
str_block{2},{3}はそれぞれWidth, Heightデータが入っている.
int型で読み込んだので,str_block{2}(n), str_block{3}(n)と指定すれば,WidthとHeightの数値データが得られる.