Завершить вызов после создания экземпляра 'char const*'C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Завершить вызов после создания экземпляра 'char const*'

Сообщение Anonymous »

Я создал простую библиотеку стеганографии и пытаюсь создать небольшое приложение Qt 5.0.2, чтобы протестировать ее. Он состоит из двух текстовых редакторов, которые используются для хранения и отображения имен путей, и двух кнопок, которые вызывают всплывающее диалоговое окно для выбора файлов, txt и bmp, чтобы можно было «встроить» первый во второй.

Но когда я нажимаю кнопку «Создать», появляется сообщение «Завершить вызов после создания экземпляра 'char const*'».

Код: Выделить всё

void MainWindow::on_generate_clicked()
{
BmpFile bm(MainWindow::bmpName);
char *outputFile = "test1.bmp";

if( bm.hide(MainWindow::bmpName, MainWindow::txtName, outputFile) == 0 )
{
printf("Hidding done.\n");
}
else
{
printf("Error!");
}
}
это слот Qt, который выдает ошибку.

Код: Выделить всё

void MainWindow::on_selFile_clicked()
{
QString txtname(MainWindow::txtName);
txtname = QFileDialog::getOpenFileName(this, tr("Open file"),"",tr("Files (*.txt)"));
ui->fileBox->setText(txtname);
QByteArray ba = txtname.toLocal8Bit();
MainWindow::txtName = ba.data();
}

void MainWindow::on_selBitmap_clicked()
{
QString bmpname=(MainWindow::bmpName);
bmpname = QFileDialog::getOpenFileName(this, tr("Open file"),"",tr("Files (*.bmp)"));
ui->bmpBox->setText(bmpname);
QByteArray ba = bmpname.toLocal8Bit();
MainWindow::bmpName = ba.data();
}
это два слота, которые обрабатывают и хранят два файла.

А это библиотека.

У меня такое ощущение, что это как-то связано с преобразованием в QString и обратно, но я не уверен.

Подробнее здесь: https://stackoverflow.com/questions/170 ... char-const
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»