1

次の形式のデータを含むファイルがあります0,"20 300 40 12"

sscanf別の変数に 0 を格納し、別の変数に 20 300 40 12 を格納するような関数でこのデータを読み取るにはどうすればよいですか。問題は、「 」内の配列のサイズが変わるため、固定長配列を使用できないことです。したがって、ファイル内に次のようなものを含めることができます。

0,"20 300 40 12"
0,"20 300 43 40 12"
1,"22 40 12"

この読み方のヒントを教えてください。

4

2 に答える 2

2

これで試しましたか:

fid = fopen(filename,'r');  
A = textscan(fid,'%d,%q','Delimiter','\n');
于 2013-04-26T09:10:07.540 に答える
0

これを行う別の方法は次のとおりです。

[a,b] = textread('ah.txt','%d,"%[^"]"');
fun = @(x) split(' ',x);
resb = cellfun(fun,b,'UniformOutput',false)
res = {a resb};

function l = split(d,s)
%split string s on string d
out = textscan(s,'%s','delimiter',d,'multipleDelimsAsOne',1);
l = out{1};
于 2013-04-26T09:23:51.000 に答える