fstream

Hallo zusammen

ich schreibe gerade ein kleines programm in c++ indem ich unter anderem ein File öffnen will. Da tauchten folgende Fragen auf:

1) Wie kann überprüft werden (unter Linux) ob der Benutzer root ist?
2) Mit dem header fstream lassen sich unter anderem folgende funktion gebrauchen:
Code:
ifstream name("whatever_the_file_is_called");
Damit wird ein file zum lesen geöffnet. jetzt möchte ich aber nicht den pfad des files angeben in " und ", sondern ich möchte das mit einer Variable machen:

Code:
#include<fstream>
[..]
int main()
{
    [..]
    std::string FILE = "whatever_the_file_is_called";
    ifstream name(FILE); 
    [..]
}

das funktioniert aber nicht, es gibt einen compilerfehler.. wo ist der Fehler?!

mfg Keymaker
 
du könntest es über ne shell / konsole "whoami" abfragen lassen und das in ein array einlesen
(zu 1)


mfg
Sven
 
zu 2.
versuchs mal so
Code:
ifstream name(FILE.c_str());
ps: wenn du fehlermeldungen bekommst, dann solltest du sie auch hier posten. das macht es einfacher den fehler zu finden.
 
Hier mal noch die Nachlieferung des Compiler-fehlers der Auftritt wenn ich das file compiliere....:
Code:
error: no matching function for call to `
   std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(
   std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/include/c++/3.3/iosfwd:89: error: candidates are:
   std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(const
   std::basic_ifstream<char, std::char_traits<char> >&)
/usr/include/c++/3.3/fstream:519: error:
   std::basic_ifstream<_CharT, _Traits>::basic_ifstream(const char*,
   std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/3.3/fstream:504: error:
   std::basic_ifstream<_CharT, _Traits>::basic_ifstream() [with _CharT = char,
   _Traits = std::char_traits<char>]

Mit dem Tipp von ivegotmail bekomme ich jetzt keine Fehlermeldung mehr, beim Ausführen des Programms kommt das programm allerdings in eine endlosschlaufe während dem öffnen des files...


mfg Keymaker
 
dann wirst du uns wohl noch etwas mehr code posten müssen... an fstream liegt es mit an sicherheit grenzender wahrscheinlichkeit nicht ;)
zu 1.: man getuid
 
Zurück
Oben