我要做的是把一个
文件中的内容读取到内存里。
代码大致如下:
- QTextStream in(&file);
- QString line,tempS;
- tempS = in.readLine();//读取第一行的文件标识信息
- if(tempS == "fire")
- {
- int i;
- tempS.clear();
- while(!in.atEnd())
- {
- i = 0;
- line = in.readLine();//读取下一行
- while(i < line.length())
- {
- if(line.at(i) != ':')
- {
- tempS += line.at(i);
- i++;
- }else
- break;
- }
- }
- }
我调试时,发现第一次循环,也就是读取“fire”下面的一行。内容是:
'\0'+要读取的内容
第二次循环,在往下读一行:
'\0'(打开重复了三十多次)+要读取的内容。
在往下的每一行读取的内容都跟第二次循环读取的内容一样。
为什么会多了这么多的'\0'在每一行的开始呢?
感谢答疑!