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
推荐于2017-09-08 · TA获得超过430个赞
知道小有建树答主
回答量:100
采纳率:0%
帮助的人:90.3万
展开全部
如果这个很长的字符串包含空格,那么读入是应该加空格辨认,不要因为空格把字符串拆散了。
假设你的这个文本文件是 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);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式