Seite 1 von 1

[gelöst]QT .txt file einlesen und auswerten

Verfasst: 18. August 2011 10:34
von Metalmoped
Guten morgen,
Ich bin relativ neu in QT lerne es seid gerade mal 3 Wochen.
Ich will ein Programm schreiben das eine Text Datei einließt, wo bei mich nur die erste Zahl in jeder Reihe interessiert.
Ich habe dieses Programm schon ohne QT also nur mit Linux Terminal zum laufen gebracht und hab dies nun in QT 3 versucht, klappt aber nicht.

mein Quell Code sieht wie folt aus:

Code: Alles auswählen

#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <sys/types.h>
#include <sys/stat.h>
#include <cmath>
#include <iomanip>


using namespace std;

char on_off[100];
char line_buffer[1001];
float main_2D_array[100][4];
int x1=0;
int line_counter=0;


void Form1::click()
{
ifstream on_off("Versuch.txt");

while (! on_off.eof() )
    
    on_off.getline(line_buffer, 150);
    istringstream read_string(line_buffer); 

    read_string >>main_2D_array[x1][0]>>main_2D_array[x1][1];
    
    x1++;
    line_counter++;
    
	    textEdit1->setText(QString::number(main_2D_array[6][0]));
}
ich habe keine probleme beim kompilieren des Programms, jedoch gibt er mir im Text Edit immer nur die Zahl 0 aus, obwohl in der Textdatei eine 1 steht.
ich persöhnlich glaube das es an dem istringstream liegt, das man für QT ein anderen Befehl benötigt, jedoch finde ich kein.
ach ja und click() ist ein Befehl wenn ich den Pushbutton drück soll dieser Code ausgeführt werden.
mmh ich glaube dann hab ich alle informationen an euch weiter gegeben.
vielen dank schon einmal im Vorraus!
Mfg Metalmo

Re: QT .txt file einlesen und auswerten

Verfasst: 18. August 2011 10:44
von Metalmoped
Sorry für den Post hab den Fehler selbst gefunden.
Ich hab alles wirklich mehrmals überprüft aber ich hab total die { } für die while funktion vergessen ^^
versteh aber nicht warum er es trotzdem kompiliert hat.
Was bringt den eine while schleife ohne { }?
mfg mo

Re: QT .txt file einlesen und auswerten

Verfasst: 18. August 2011 11:16
von franzf
Man kann bei allen Blöcken (for, while, if, ...) die "{}" weglassen, wenn in dem Block nur eine Anweisung steht. Lässt du die Klammern weg, wird auch nur eine Anweisung in den Block kompiliert. Wenn es keine Probleme mit der Gültigkeit von Bezeichnern gibt, denkt sich auch der Compiler "alles paletti" :P

Re: QT .txt file einlesen und auswerten

Verfasst: 18. August 2011 11:57
von Metalmoped
ah ok dankeschön xD, mensch jeden tag lerne ich hier mindestens 10 neue sachen, geil xD
danke auf jeden fall für deine Schnelle antwort.
ich Hoffe ich lern schnell das ich anderen dann auch mal helfen kann.
ach ja wo setzte ich mein beitrag auf gelöst? oder Fertig oder wie auch immer xD
mfg Mo

Re: QT .txt file einlesen und auswerten

Verfasst: 18. August 2011 12:00
von franzf
ach ja wo setzte ich mein beitrag auf gelöst?
Deinen eröffnenden Post editieren und den Titel entsprechend anpassen.