PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Strings und Chars in c++



Russel-Athletic
12-07-2005, 15:22
So ich versuche gerade nen programm zu schreiben und da muss ich mit strings und chars anwenden.
Strings wollte ich eben als normale variable Menge von chars haben und die const char brauch ich nur für nen Funktionsaufruf.


string aktdirn;
if((opendir((aktdirn)))==NULL)
{
listeeintragen(aktdirn);
}

Quasi so.
Und die Funktion opendir will nen const char.
Ich hab das schon lehrbuchmäßig mit static_cast<char> in der if versucht, aber da wurde mir ein invalid static_cast um die Ohren geworfen.
Also wie mach ich das nun?

Alex_K
12-07-2005, 15:42
du verwendest die funktion c_str():



string aktdirn;
if((opendir((aktdirn.c_str())))==NULL)
{
listeeintragen(aktdirn);
}

Odzilla
12-07-2005, 15:44
Würde mit if((opendir((aktdirn.c_str())))==NULL) gehen.

string::c_str() liefert nen char* zurück.

btw: wozu so viele klammern? :)

edit: och zu spät ^^

Russel-Athletic
12-07-2005, 15:52
Notfalls sind die Klammern noch von irgendwas übrig :D
Bin ja auch gerade erst dabei c++ zu lernen und nen kleines programm damit zu schreiben.

Achja hat übrigens funktioniert.

P.S.: Irgendwie hab ich das gefühl das sind so Grundlagen, die mir mein Buch nicht vermittelt hat.

panzi
13-07-2005, 21:28
Notfalls sind die Klammern noch von irgendwas übrig :D
Bin ja auch gerade erst dabei c++ zu lernen und nen kleines programm damit zu schreiben.

Achja hat übrigens funktioniert.

P.S.: Irgendwie hab ich das gefühl das sind so Grundlagen, die mir mein Buch nicht vermittelt hat.
Un vieleicht hast ja die möglichkeit boost zu installieren und zu nutzen?`dann kannst auch c++ artig auf verzeichnise zugreifen (directoryiterator).