• 4652阅读
  • 2回复

[提问]新手求教,为什么用了seek后,read读取文件的位置不对 [复制链接]

上一主题 下一主题
离线星璇凌
 
只看楼主 倒序阅读 楼主  发表于: 2012-04-23
QFile file(fileName);
file.open(QFile::ReadOnly|QFile::Text);
QTextStream in(&file);

in.seek(allCharacter * (curPage-1)); //定位文本中第i页的开始位置
QString buffer = in.read(allCharacter);
ui->textBrowser->setText(buffer);

file.close();
这样一段内容,我打开一个txt小说,设allCharacter=300,相当于一页显示300个字符(包含了空格和段落)然后设定curPage在点击下一页后自动+1,并且主动调用这段内容,但是问题是:第一页显示了292个字符(包括空格)和8个段落,第二页却从第150个字符开始显示。。。按理来说应该是从第301个开始读的,为什么会出现这个问题呢?

不知道是不是该发到这个区。。。。。总之这个问题快把我的头想破了T T
离线hellogritty

只看该作者 1楼 发表于: 2012-04-24
你读的是文本文件,还有回车换行符没有没有考虑
离线dbzhang800

只看该作者 2楼 发表于: 2012-04-24
单纯是换行差不了这么多,估计是有中文等宽字符存在,却被楼主忽略了
快速回复
限100 字节
 
上一个 下一个