Witajcie,
mam taką oto funkcję wczytującą mi wykres z pliku w graficznej aplikacji Qt:
void MainWindow::on_actionOpen_triggered() {
QString FileName;
FileName = QFileDialog::getOpenFileName(this, tr("Open File"),"/home", tr("Data (*.dat)"));
QFile file(FileName);
if (!file.open(QIODevice::ReadOnly))
return;
file.read(reinterpret_cast<char*>(chart->data),chart->dataSize*sizeof(double)); file.close();
repaint();
}
Funkcja ta działa pod warunkiem, że składowa data
jest double . Chcę to jakoś znormalizować i pozbyć się raw pointerów, dlatego chciałem użyć std::vector<double>
i o ile taka zmiana dla funkcji zapisu(korzystającej z file.write()
która jako pierwszy argument przyjmuje const char) nie stanowi problemu. Tak w tej funkcji, file.read()
potrzebuje nie const char*, a char* i niestety wszystkie próby kończą się niepowodzeniem. Jakiś pomysł, jak zrobić z vectora char*, tak żeby można go było użyć w file.read?
Próbowałem już tworzyć stringa z vectora, a potem go kopiować do char *, ale bez efektu.