Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Lookup Dir

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 < [ 2 ]
000
30.05.2003, 14:48 Uhr
~ai-tee
Gast


Ich hoffe ich kriege jetzt nicht so ne Antwort wie ... lies doch erstmal die Bücher ... oder dergleichen ...

Ich möchte eine Konsolenanwendung programmieren. Diese soll herausfinden in welchem Dir ich mich befinde.
Kann mir wer nen Tipp geben?

Gruss ai`tee
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.05.2003, 15:07 Uhr
virtual
Sexiest Bit alive
(Operator)


Das kannst Du auf POSIX System mit getcwd den aktuellen pfad rausbekommen, unter Windows heißt die Funktion GetCurrentDirectory.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.05.2003, 16:23 Uhr
~ai-tee
Gast


thx much,

aba ich kann es nicht wirklich erfolgreich einsetzen:

char actualPath;
unsigned long pathBufferLength;
unsigned long dirExistent = GetCurrentDirectory ( pathBufferLength, actualPath );

Ich bekomme immer folgende Fehlermeldung:

cproj\dir_watcher\dir_watcher.cpp(46) : error C2664: 'GetCurrentDirectoryA' : Konvertierung des Parameters 2 von 'char' in 'char *' nicht moeglich
Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.05.2003, 16:32 Uhr
~ai-tee
Gast


Naja bin raus Jungs,

ich wünsch euch ein geruhsames Wochenende bzw. für diejenigen unter euch, die aus Hamburg kommen oder auch nicht und zum G-Move gehen ... hf

Cya monday,
greetz,

ai`tee

»» For the world u r somebody,
»» but for somebody u r the world!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.05.2003, 16:36 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


wir wohl daran liegen das in ein einzelnes char kein ganzer pfad reinpasst.

nimm ein CString oder zumindest ein char-array

Gruss Heiko
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 30.05.2003 um 16:36 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
02.06.2003, 09:17 Uhr
~ai-tee
Gast


Hab ich getan ...

CString actualPath = "";

Die Funktion hab ich auch schon als int deklariert, geht auch nicht ... immer wieder die gleiche (oder ähnliche) Fehlermeldung:

cproj\dir_watcher\dir_watcher.cpp(46) : error C2664: 'GetCurrentDirectoryA' : Konvertierung des Parameters 2 von 'class CString' in 'char *' nicht moeglich
Kein benutzerdefinierter Konvertierungsoperator verfuegbar, der diese Konvertierung durchfuehren kann, oder der Operator kann nicht aufgerufen werden
Fehler beim Ausführen von cl.exe.

Kann es denn sein, dass ich die falsche Funktion genommen habe?
Ich habe folgendes aus der MSDN Hilfe:

Titel:
GetCurrentDirectory
Position:
Windows Base Services: Platform SDK

Greetz, ai`tee
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
02.06.2003, 09:34 Uhr
ao

(Operator)



Zitat:
~ai-tee postete
thx much,

char actualPath;
unsigned long pathBufferLength;
unsigned long dirExistent = GetCurrentDirectory ( pathBufferLength, actualPath );




Zum Beispiel so:


Code:
char szCurrentDir[1024];
DWORD nPathLen = ::GetCurrentDirectory (sizeof (szCurrentDir), szCurrentDir);



Sollte danach nPathLen größer sein als sizeof(szCurrentDir), dann ist der Pfad so lang, daß er nicht in den Puffer paßt. Du mußt dir in diesem Fall mehr Speicher besorgen und es noch mal versuchen. Bei 1024 Plätzen im Puffer ist das aber unwahrscheinlich.

Mit CString kann es nicht gehen, weil CString (wie die Fehlermeldung schon sagt) keinen passenden Konvertierungsoperator hat. Der Operator LPCTSTR funktioniert deshalb nicht, weil er const deklariert ist, d.h. er ist nur geeignet um lesend auf den Inhalt des Objekts zuzugreifen. Was du vorhast, ist, was hineinzuschreiben.

Gruß

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
02.06.2003, 09:49 Uhr
~ai-tee
Gast


Ok, das hat soweit geklappt, nur jetzt bekomme ich Fehler beim Linken:

nafxcwd.lib(thrdcore.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __beginthreadex
Debug/dir_watcher.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise

Ich habe schon die nafxcwd.lib als Linker-/Bibliothek Modul hinzugefügt in den Projekt Settings, hat jedoch auch nichts geholfen ... noch ne Idee?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
02.06.2003, 10:01 Uhr
virtual
Sexiest Bit alive
(Operator)


Thread
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
02.06.2003, 10:06 Uhr
~ai-tee
Gast


ähm ... ok, und wohin?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


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: