私はQt IDEを使用しています。次のコードは、Microsoft Visual C++ランタイムライブラリエラーの原因です。さらに、 "NewYork"と "London"のテキストを表示する代わりに、 "NewYork"と "Londonk"と表示してクラッシュします。ここにコードがあります。Qtランタイムエラー
void MainWindow::on_listWidget_itemClicked(QListWidgetItem *item) // creates comments for item
{
ui->listWidget_2->clear();
ui->commentbutton->setEnabled(true);
QFile files("E:/"+QString::number(ui->listWidget->currentRow())+"com.txt");
if(files.exists())
{
if(!files.open(QFile::ReadOnly | QFile::Text))
{
QMessageBox::warning(this,"File Access!!!","The File containing data of the Items and Comments can't be acessed",QMessageBox::Ok);
return;
}
QTextStream in(&files);
QString data(in.readLine());
int x=0;
QString temp;
for(int i=0;;i++)
{
if(i>data.size())
break;
if(data.at(i)!='@' && data.at(i+1)!='#')
{
temp[x]=data.at(i);
x++;
}
else
if(data.at(i)=='@' && data.at(i+1)=='#')
{
QListWidgetItem *itm=new QListWidgetItem;
x=0;
i++;
itm->setText(temp);
ui->listWidget_2->addItem(itm);
}
}
files.close();
}
プログラムは、Xcom.txtファイルを適切に生成します(Xは数字です)。データを取得しているファイルには次の情報が含まれています。
NewYork @#London @#。
デバッガを使用して、プログラムがクラッシュする場所を正確に特定する必要があります。 –