Buchstaben in einer For-Schleife durchgehen?
-
erscheint auch nicht sinnvoll, das du ein i erhöhst.
-
Danke für eure Unterstützung, das mit der Schleife funktioniert einwandfrei.
Jetzt habe ich noch ein Problem mit der GetDriveType-Funktion.Jedesmal, wenn ich den Source compilieren will bringt er mir bei
GetDriveType "Missing Prototype". Könnt Ihr mir sagen, wo mein Fehler
liegt? Hier meine Funktion.char GetCurWD()
{
char aktWD_g;
char Drive;
int anzWD;
unsigned int drivetype;for (Drive='A'; Drive<='Z'; Drive++)
{char DriveChar[4];
*DriveChar=Drive;
*(DriveChar+1)=':';
*(DriveChar+2)='\';
*(DriveChar+3)='\0';drivetype = GetDriveType(Drive);
if(drivetype == 2)
{
anzWD++;//if(Datenträger beschreibbar)
//{
//Speicherung des aktuellen Laufwerkes in einem Array
//} else {
//Speicherung der nicht beschreibbaren Laufwerke in einem Array
//}}
}
return aktWD_g;
}Grüße
Arndt
-
mata schrieb:
erscheint auch nicht sinnvoll, das du ein i erhöhst.
Hatte nur in Bezug auf das Programm, in dem der Quellcodeteil steckte Sinn !
-
Das komplette Programm darf ich hier nicht veröffentlichen.
Könnt Ihr mir Beispiele für die Verwendung der GetDriveType Funktion
geben? Habe beim googeln nicht die besten Ergebnisse gefunden.Was bedeutet die Fehlermeldung des Compilers "Missing Prototype"?
Grüße
Arndt
-
Könnte die fehlende Prototyp-Kopfzeile sein, die du nicht am Anfang vor der main-Funktion nochnmal angegeben hast.
Schreib den Funktionskopf da einfach nochmal hin !
-
Hallo,
jetzt habe ich noch ein Problem mit dem Übergabeparameter der Funktion GetDriveType. Der Kompiler sagt: 1. Konvertierung von 'int' nach 'const char' nicht möglich, 2. Keine Übereinstimmung des Typs beim Parameter
'IpRootPathName' ('const char *' erwartet, 'char' erhalten)char GetCurWD()
{
// Variablen
char aktWD_g;
int anzWD;
int writableWD;
int nonwritableWD;
unsigned int drivetype;
char Drive;// Ausblenden der Windows-Fehlermeldungen
SetErrorMode(SEM_FAILCRITICALERRORS);// Scannen der Wechseldatenträger
for (Drive='A'; Drive<='Z'; Drive++)
{
char Drive = Drive && ":" && "\" && "\0";
drivetype = GetDriveType(Drive);if(drivetype == 2)
{
...
}
}
}Grüße
Arndt
-
1. Codetags benutzen
2. Im MSDN hast du doch die Erklärung der Funktion schon. Du sollst eben keinen char übergeben, sondern einen String. Und Strings werden idR. halt als char* übergebenhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/getdrivetype.asp
-
Hi,
habe versucht die Codetags zu benutzen, der Code wurde aber nicht anderst dargestellt.
Quellcode
habe ich getestet.
Anderer Aufbau?Kannst du mir noch eine Beispielübergabe an die Funktion GetDriveType geben?
Bin noch neu auf dem Gebiet.Grüße
Arndt
-
Wenn ich das Ganze so
char *Drive = Drive && ":" && "\\" && "\0"; drivetype = GetDriveType(Drive);
versuche sagt der Kompiler
Konvertierung von bool nach char * nicht möglich.Habe wohl den String falsch zusammengekettet, oder?
Wie kann ich einen String zusammenketten?Grüße
Arndt
-
ok, funzt jetzt.
Danke euch alle für eure Hilfe.
Grüße
Arndt