数据样本:
1 2 3 - 4 5 - 6 7 8
我有一个文件,每行有一个数字,并且有一个分隔符。我如何才能获得这样的数组:
output = [[1,2,3], [4,5], [6,7,8]]
谢谢
vltsax251#
将文件内容读入int向量fscanf(fid,'%d',[1 inf])并跳过一个字符串fscanf(fid,'%s', 1),然后继续读取一个向量和一个字符串,直到文件结束。
fscanf(fid,'%d',[1 inf])
fscanf(fid,'%s', 1)
out = {}; fid = fopen('file.txt'); while ~feof(fid) out{end+1:end+1} = fscanf(fid,'%d',[1 inf]); fscanf(fid,'%s', 1); end fclose(fid); out = 1×3 cell array {[1 2 3]} {[4 5]} {[6 7 8]}
1条答案
按热度按时间vltsax251#
将文件内容读入int向量
fscanf(fid,'%d',[1 inf])
并跳过一个字符串fscanf(fid,'%s', 1)
,然后继续读取一个向量和一个字符串,直到文件结束。