MATLAB求助:字符串读取
我有一个很大的文本文件(10M),里面就是一个很长的字符串,我想对这个文件的内容进行如下的操作,读取从第n个到第n+10的字符,把字符串存入变量a中,然后把指针向后移一位...
我有一个很大的文本文件(10M),里面就是一个很长的字符串,我想对这个文件的内容进行如下的操作,读取从第n个到第n+10的字符,把字符串存入变量 a中,然后把指针向后移一位(如果Matlab中有指针的话),读取从第n+1到第(n+1)+10的字符,然后把结果保存在变量b中,请问我应该怎么下手?
谢谢大家了。
laoliangr:
这个字符串太大,我如果一次读入,会有溢出,如下:
Buffer overflow (bufsize = 4095) while reading string from
file (row 1, field 1),
有没有办法让我一次只读入这个字符串中的一部分呢,然后下次用的时候再从上次读到的地方继续读入。 展开
谢谢大家了。
laoliangr:
这个字符串太大,我如果一次读入,会有溢出,如下:
Buffer overflow (bufsize = 4095) while reading string from
file (row 1, field 1),
有没有办法让我一次只读入这个字符串中的一部分呢,然后下次用的时候再从上次读到的地方继续读入。 展开
展开全部
如果这个很长的字符串包含空格,那么读入是应该加空格辨认,不要因为空格把字符串拆散了。
假设你的这个文本文件是 myfile.txt
具体操作如下:
cell_string=textread('myfile.txt','%s','whitespace','');
如果没有空格,可以去掉空格辨认如下
cell_string=textread('myfile.txt','%s');
然后是读取第n到第n+10个字符
n=?; %这里n填入你需要的数值
string_s=cell_string{1}; %将读取的字符串从cell里存到字符串 %string_s里面
a=string_s(n:n+10);
b=string_s(n+1:n+1+10);
假设你的这个文本文件是 myfile.txt
具体操作如下:
cell_string=textread('myfile.txt','%s','whitespace','');
如果没有空格,可以去掉空格辨认如下
cell_string=textread('myfile.txt','%s');
然后是读取第n到第n+10个字符
n=?; %这里n填入你需要的数值
string_s=cell_string{1}; %将读取的字符串从cell里存到字符串 %string_s里面
a=string_s(n:n+10);
b=string_s(n+1:n+1+10);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询