初学者求教,为什么用了seek后,read读取文件的位置不对
菜鸟求教,为什么用了seek后,read读取文件的位置不对C/C++ codeQFile file(fileName)file.open(QFile::Rea
菜鸟求教,为什么用了seek后,read读取文件的位置不对
C/C++ codeQFile 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个开始读的,为什么会出现这个问题呢?
[解决办法]中文的问题?1个中文=2个英文
[解决办法]我觉得楼主的做法不太合适,“一页显示300个字符”有时,这并不准确。它涉及字体的问题,半角字符的问题。所以最好想想别的办法
[解决办法]看看seek()返回的是true还是false.
检查一下是否报错,调一下方法error (),看看返回的是什么