Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » fstream objekt innerhalb einer klassenfunktion?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
22.05.2006, 00:19 Uhr
Kn___



Hi allesamt,
wie der Titel schon sagt, mein Problem liegt darin das ich versuche ein fstreamobjekt innerhalb einer Klasenfunktion zu verwenden.
das ganze sieht dann ungefähr so aus :

C++:
class user {
      public:
      user();
      ~user();
      int newuser();
      void deleteuser();
      void findandopenuser();
      
      private:
      string username;
      string name;
      };





C++:
int user::newuser(){
      fstream quelle;
      int a = 1 ;
      string name;
      do{
      char jein;
      cout << "Bitte geben sie den Namen des neuen Benutzers an"<<endl;
      cin >>name;
      cout << "\nNeuen Benutzer mit dem Namen "<< name << " wirklich anlegen? Y/N/A" <<endl;
           do{
           cin >> jein;                          
           switch(jein){
           case 'y':a=0;break;
           case 'n':break;
           case 'a':a=-1;break;
           default : cout << "Üngültige Eingabe , bitte erneut versuchen Y/N/A"<<endl;continue;
           }
           break;
           }while(true);
      }while(a > 0);
      if (a==0) {
          string temp;
          string pfad = "c:\\output\\";
          temp = temp + pfad;
          temp = temp + name;
          temp = temp + ".txt";
          quelle.open(name , ios::out);
          quelle.close();
          }
      else return -1;  //für exit      
      }


Jetzt mal von Schönheitsfehlern und Umständlichkeit abgesehn , wo und wie muss ich das fstream objekt anlegen damit die funktion damit umgehen kann/darauf zugreifen kann?
danke und grüße.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.05.2006, 14:10 Uhr
Helmut



Hi!

So kommste erstmal weiter:

C++:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class user {
      public:
      user();
      ~user();
      int newuser();
      void deleteuser();
      void findandopenuser();
      
      private:
      string username;
      string name;
      };
int user::newuser(){
      fstream quelle;
      int a = 1 ;
      string name;
      do{
      char jein;
      cout << "Bitte geben sie den Namen des neuen Benutzers an"<<endl;
      cin >>name;
      cout << "\nNeuen Benutzer mit dem Namen "<< name << " wirklich anlegen? Y/N/A" <<endl;
      do{
         cin >> jein;                          
         switch(jein){
           case 'y':a=0;break;
           case 'n':break;
           case 'a':a=-1;break;
           default : cout << "Üngültige Eingabe , bitte erneut versuchen Y/N/A"<<endl;continue;
        }
           break;
      }while(true);
     }while(a > 0);
     if (a==0) {
        string pfad = "c:\\output\\";
        pfad += name;
        pfad += ".txt";
        quelle.open(pfad.c_str() , ios::out);
        quelle.close();
     }
     else return -1;  //für exit      
}

int main(){

}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.05.2006, 18:08 Uhr
Kn___



ui klappt, danke dir.
kleiner nachtrag, oben hätte es natürlich

C++:
quelle.open(temp , ios::out)


bzw eben:

C++:
quelle.open (temp.C_str(), ios::out)


heissen müssen.
Egal , haut ja jetzt problemlos hin.Vielen dank nochmal.Grüße.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: