Meine includes:
#include <QFile>
#include <QProcess>
#include <QTextStream>
#include <QDebug>
#include "mainwindow.h"
#include <string>
#include <sstream>
das ich hab fologendermaßen gelöst:
Code: Alles auswählen
QString test_qs = "TEST";
QByteArray bytes = test_qs.toLocal8Bit();
char *data_t = new char[bytes.size() + 1];
strcpy(data_t, bytes.data());
Dies wird nun der Hashfunktion übergeben, welche einen unsigned char* zurückliefert.
Code: Alles auswählen
hashfunk(data_t, strlen(data_t));
ICh spiele schon die ganze zeit mit der formatierung rum, krieg aber nicht das ergebnis was ich haben will. Es soll einen 16 byte string als ergebnis enstehen. Im Debug ist zu sehen das ein 16 Bit string vorhanden ist, aber der inhalt varriert. Der string hat das format:
"021\239\123\256\276...\276"
weiss auch nicht sind die flashes hier alles quotes? das würde erklären warum nur das erste zeichen der 16 bytes aus dem array ausgegeben wird. Hier mein code bisher, wo aber nur grütze rauskommt an ende. Ich caste nun schon direkt nach (char*)
Code: Alles auswählen
char* uzu = (char*)Hashfunk( data_t, strlen(data_t));
das ganze soll nachher wieder in ein QString, weil ich damit eine Datei öffnen will.
also QString->char*->hashfunk->unsigned char*->char*->QString
Vielen Dank im vorraus[/code]