GetLogicalDriveStrings richtig benutzen



  • Hallo, da ich mir etwas unsicher bin ob dieser kleiner Code auch auf allen System läuft wollte ich ihn mal posten:

    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    
    int main() {
    	char buffer[128];
    	int x,i;
    	x = GetLogicalDriveStrings(128,buffer);
    	for(i=0; i<x; i++) {
    	  printf("buffer: %s\n",&buffer[i]);
    	  i = i + 3;
    	}
     return 0;
    }
    

    Für verbesserungen bin ich gerne offen.



  • Was ich an aus meiner Sicht kritishen Dingen ändern würde, ohne großartig was zu ändern:

    Edit: Habe jetzt doch etwas mehr verändert. Das wäre also mein Vorschlag.

    #include <tchar.h>
    #include <windows.h> 
    
    #define BUFFSIZE	128
    
    int _tmain( int argc , TCHAR *argv[] ) { 
    
        TCHAR buffer[BUFFSIZE];
    
        int x , i=0; 
        buffer[0] = '\0' ;
    
    	x = GetLogicalDriveStrings( BUFFSIZE - 1 , buffer); 
    
    	while( i < x && buffer[i] ) { 
          _tprintf( _T("buffer: %s\n") , &buffer[i]); 
          while( buffer[i] ) i++ ;
    	  i++ ;
    
    	} 
    
    	return 0; 
    
    }
    

Anmelden zum Antworten