我的问题很简单,但我不能解决.
在我的头上:
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!");
}当初始化工作正常时,应用程序会在测试时崩溃,如果is ()。我做错了什么?我需要通过几种方法才能进入。我必须在这里使用指针(?)因为in稍后会初始化(AFAIK引用是不可能的)
这可能很明显,但我对c++很陌生.
谢谢!
发布于 2013-10-31 13:20:51
我看到您使用&file初始化文本流。看起来file是一个局部变量,当初始化函数完成时它就被销毁了。QTextStream期望传递的IO设备在流被销毁之前是有效的。所以你得到了分段故障。您需要确保在使用文本流时不销毁file。
https://stackoverflow.com/questions/19707413
复制相似问题