Dateien anlegen

Verschiedenes zu Qt
Antworten
door44
Beiträge: 4
Registriert: 28. Juni 2008 11:01

Dateien anlegen

Beitrag von door44 »

hi,
ich habe ein kleines problem ich möchte mehrere dateien anlegen (siehe code). leider bricht das ganze nach der dritten datei einfach ab.

hoffe jemand von euch hat ne idee...
danke schonmal

Code: Alles auswählen

void blabla()
{

	int counter=0;
	QString tempStr;

	QFileDialog* pFileDialog = new QFileDialog();
	QString outFile = pFileDialog->getSaveFileName ( "/home/user/","",0,"save file dialog","Choose a filename to save as" );
	if ( outFile.isEmpty() )
		return;
	tempStr.setNum ( counter );
	outFile.append ( tempStr );
	QFile FileOut ( outFile );
	QTextStream DataStream ( &FileOut );

	for ( int i=0;i<30;i++ )
	{
		if ( FileOut.open ( IO_WriteOnly | IO_Append ) )
		{
			DataStream<<counter;
			DataStream<<"\n";
			FileOut.close();
		}
		outFile.remove ( tempStr );
		counter++;
		tempStr.setNum ( counter );
		outFile.append ( tempStr );

		FileOut.setName ( outFile ); 
		DataStream.setDevice ( &FileOut );
		cout << "--> neue Datei " << outFile << endl;
	}
}
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Weder schreibst du was in die Datei noch schließt Du sie wieder.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
door44
Beiträge: 4
Registriert: 28. Juni 2008 11:01

Beitrag von door44 »

ich schreibe doch mit DataStream<<counter; den aktuellen counterstand und mit FileOut.close(); schließe ich sie dachte ich?

wie gesagt drei die ersten drei werden angelegt und haben den jeweiligen inhalt 0, 1, 2. nur danach geht es nicht weiter...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich hätte FileOut.close() und das setzen des Datastreams woanders erwartet.

Ein paar Debugausgaben und ein Debugger sollten da aber schnell Klarheit bringen. Soweit sieht es ok aus.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
door44
Beiträge: 4
Registriert: 28. Juni 2008 11:01

Beitrag von door44 »

habe ich probiert aber nix gefunden.
FileOut.open ( IO_WriteOnly | IO_Append ) gibt einfach ein false zurück wenn ich die vierte datei anlegen will

edit: habs jetzt outFile.remove ( tempStr ); hat dummer weise auch was aus dem verzeichnispfad entfernt......
Zuletzt geändert von door44 am 28. Juni 2008 16:16, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
door44
Beiträge: 4
Registriert: 28. Juni 2008 11:01

Beitrag von door44 »

ja DANKE hab meinen fehler gefunden....
outFile.remove ( tempStr ); hat dummer weise auch was aus dem verzeichnispfad entfernt...
Antworten