Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » laufwerkart herausfinden

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
14.10.2003, 18:39 Uhr
~Pepe
Gast


hi
ich hab ein prog geschrieben, dass die laufwerke auflisten und die art des laufwerks(cd, festplatte,...) zeigen soll. aber irgendwie geht das immer nur bei dem 1. laufwerk einer art. hoffentlich kann mir wer helfen:


C++:
#include <windows.h>
#include <stdio.h>
#include <string.h>
int main()
{
   int nummer;
   int lw,i,k;
   char laufwerk[26][1];  
   nummer = GetLogicalDrives();
   printf("%d\n",nummer);
  
   k=1;
   for(i=1; i<=26; i++){
    if(nummer&k){
     laufwerk[i][0] = i+96;
     laufwerk[i][1]=':';
     printf("%s\\\n",laufwerk[i]);
     lw = GetDriveType(laufwerk[i]);
     if(lw==0)
      printf("Laufwerktyp kann nicht erkannt werden\n\n");
     else if(lw==2)
      printf("Herausnehmbares Laufwerk\n\n");
     else if(lw==3)
      printf("Festplatte\n\n");
     else if(lw==4)
      printf("Netzwerk-Laufwerk\n\n");
     else if(lw==5)
      printf("CD-Rom Laufwerk\n\n");
     else if(lw==6)
      printf("RAM-Laufwerk\n\n");
     k=k*2;
    }
   }
   getchar();
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.10.2003, 18:45 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Dein Array ist zu klein:

C++:
char laufwerk[26][2];
laufwerk[0] = {'a',':','\0'};



Ein String muss immer Null-Terminiert sein, sonst schaut dein laufwerk[0]
z.b so aus:

Code:
a:b:c:d:...



du musst also folgendes machen:


C++:
char laufwerk[26][2];

//...

laufwerk[ i ][0] = i+96;
laufwerk[ i ][1] = ':';
laufwerk[ i ][2] = 0;



oder gleich besser:


C++:
char laufwerk[26][2];

//...

sprintf(laufwerk[ i ],"%c:",i+96);


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.10.2003, 10:00 Uhr
ao

(Operator)


oder noch besser:

C++:
char laufwerk[26][[b]3[/b]];


ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: