ifstream::ofstream problem

philishake

javascript enthusiast
Hi Leute, ich wollte ma wissen warumd as nicht geht ?

Code:
#include <fstream>
#include <iostream>

int dateiname = 1;
int anzahl = 5;


int main()
{
   while(dateiname <= anzahl)
   {
       ofstream g_file (dateiname, ios::app);
       g_file << "Hallo";
       g_file.close();
       dateiname++;
   }
}

Diese Programm soll einige festa anzahl an Dateien schreiben. :)

mfg phil
 
Hi.

ofstream besitzt nur 2 Konstruktoren:
Code:
ofstream ();

explicit ofstream(char* filename, openmode mode = out | trunc);
Das explicit bedeutet das keine implizite Typumwandlung eingesetzt wird um z.B. einen int in einen Zeiger auf char umzuwandeln. D.h. die Parameter müssen direkt so mit den angegebenen Typen übereinstimmen. (du versuchst einen int zu übergeben erwartet wird ein char*)

Du mußt also erstmal deinen int in einen String umwandeln, z.B. mit snprintf oder ostringstream:
Code:
#include <sstream>

while(..) {
  ostringstring out;
  out << dateiname;
  ofstream g_datei(out.str().c_str(), ios::app);
  ...
}

Gruß
 
Zurück