QString array[1000];
QString text;
long int groesse;
system("START screenshot.exe");
QFile file("text.txt");
file.open(QIODevice::ReadOnly);
QByteArray in = file.readAll();
groesse= file.size();
file.close();
int XCount;
int T;
cout << groesse <<endl;
for (int x = 1 ; x < groesse ; x += 8192)
{
XCount += 1;
if ((groesse - x) < 8192)
{
T = (groesse - x +1);
}
text = "";
text = in.mid(x,T);
array[XCount] = text;
}
cout << XCount <<endl;
Normalerweise sollte er die Datei text.txt auslesen und dann 8192 Byte sepperat in einem array ablegen.
Macht er aber nicht.
Keine Ahnung wieso
Die Dateigröße stimmt übrigens auch nicht, auch wenn ich groesse= file.size(); habe.
Normalerweise müsste 8192 byte einlesen und an weiterer stelle wieder 8192 byte einlesen.
Du initialisierst die Variable XCount nie und inkrementierst sie dann, wie soll das gehen? Dass das dann mit dem Array auch nicht funktionieren kann, ergibt sich ja....
QString array[1000];
QString text;
long int groesse;
groesse = 0;
system("START screenshot.exe");
QFile file("text.txt");
file.open(QIODevice::ReadOnly);
QByteArray in = file.readAll();
groesse= file.size();
file.close();
int XCount;
int T;
XCount = 0;
T = 0;
cout << groesse <<endl;
for (int x = 1 ; x < groesse ; x += 8192)
{
XCount += 1;
if ((groesse - x) < 8192)
{
T = isspace(groesse - x +1);
}
text = "";
text = in.mid(x,T);
array[XCount] = text;
}
jetzt funktioniert es, naja, wusste nicht, das man in c++ den Variablenwert erst auf 0 setzen muss.
In freebasic sind die standartmäßig immer auf 0 gesetzt.