Parsing QTextStream

Parsing QTextStream

本文关键字:QTextStream Parsing      更新时间:2023-10-16

我的问题很简单,但我无法解决这个问题......

在我的标题中:

QTextStream *in = NULL;

在一种方法中,QTextStream被初始化:

in = new QTextStream(&file);

然后我正在尝试用另一种方法解析它:

QString next;
if(in != NULL){
    while(!in->atEnd()){
        next = in->readLine();
    }
}
else{
  QMessageBox::critical(this, "Error", "No file to test!");
}

虽然初始化工作正常,但如果 in 是atEnd(),应用程序会在测试中崩溃。我做错了什么?我需要从几种方法访问。我必须在这里使用指针(?),因为稍后会初始化(AFAIK 无法通过引用)

这可能很明显,但我对 c++ 相当陌生......

谢谢!

我看到您使用&file初始化文本流.看起来file是一个局部变量,初始化函数完成后它会被销毁。QTextStream 期望传递的 IO 设备在流被销毁之前有效。所以你得到了段错误。您需要确保在使用文本流时不会破坏file