C++ LogReader gibt keinen String aus. Bitte um Hilfe

Sven1994

Cadet 1st Year
Registriert
Apr. 2008
Beiträge
15
Hallo,
ich habe mit meinen sehr geringen C++ Kenntnissen versucht einen LogReader für ein Game zu schreiben. Naja ging alles gut Programm tat bis ich den Code, der für das Auslesen verantwortlich war in eine eigene Funktion reingepackt hab. Visual c++ 2008 EE hat den Source fehlerfrei/warnfrei klompiliert, bloß ab jetzt liefert das Progrämmchen mir nur noch das:

logreader.png



Code:
#include <iostream>
#include <fstream>
#include <string>
#include "stdlib.h"
#include "windows.h"

using namespace std;

//findet letzte Zeile der Logdatei heraus
int Readlog(string strLastLine)
{
    ifstream myfile ("Logdatei.txt");

	if (myfile.is_open())
	{	
		string strX;
		while (! myfile.eof())
		{
			getline (myfile,strX); 
		} 
		strX=strLastLine;
		myfile.close();
	}
	//Wenn Datei nicht existiert daruaf hinweisen und programm Beenden
	else
	{	
		cout << "ERROR: Datei nicht gefunden, ist Logdatei.txt vorhanden?\n";
		system("Pause");
		exit(0);
	}
return 0;
}



int main () {
string strLastLine1;
//BUG: sollte den String der letzten in Variable strLastLine1 "abspeichern", tut es aber nicht, da sonst der String unten ausgegeben wäre  
Readlog(strLastLine1);

cout << "Letzte Zeile des Testlogs: " << strLastLine1 <<"\n";

system("PAUSE");
return 0;
}

Ich hab auch geguckt, ob die Logdatei.txt vllt eine Leerzeile enthält, was aber nicht der Fall war.

Wäre euch äußerst dankbar wenn ihr mir weiterhelfen könntet.

Gruß

Sven
 
Mach eine string und nicht int als Rückgabewert der Funktion.
Dann gibst du die letze gefundene Zeile zurück und kannst die in der Zeile mit cout direkt ausgeben.
Das Funktionsargument brauchst du dann nicht mehr.
 
THX Mate :)

Funkt alles super, hab mir mal bisschen mehr über Funktionen und über die Rückgabe reingezogen und mir wurde einiges Klar^^ . Vielleicht wirds bei mir ja mal in 1000 Jahren was mit dem C++ Profi XD.

Gruß Sven

*Thread kann geschlossen werden*
 

Ähnliche Themen

Zurück
Oben