Ratlos mit Dateigroesse



  • Hallo Leute!
    Ich habe ein Programm geschrieben, welches die Groesse einer Datei mit der stat Struktur abfragt. Doch jedesmal wenn ich es ausfuehre bekomme ich einen Speicherzugriffsfehler. Ich kann einfach keinen Fehler erkennen.

    Seht euch bitte mal den Quellcode an:

    #include <sys/types.h>
    #include <sys/stat.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <errno.h>
    #include <unistd.h>
    
    static int print_filesize(const char *name)
    {
    	struct stat st;
    
    	if(stat(name, &st) < 0)
    	{
    		perror("Fehler bei Dateiabfrage");
    		return -1;
    	}
    
    	printf("Groesse der Datei: %s Bytes\n", (int)st.st_size);
    	return 0;
    }
    
    int main(int argc, char **argv)
    {
    	const char *ptr;
    
    	if(argc < 2)
    	{
    		printf("Das Programm erwartet mindesten 1 Parameter\n");
    		return EXIT_FAILURE;
    	}
    
    	ptr = argv[1];
    
    	if(print_filesize(ptr) < 0)
    		return EXIT_FAILURE;
    
    	return EXIT_SUCCESS;
    }
    

    Dieses Programm fuehre ich unter Suse Linux 9.1 Professional aus. Kompiliert mit gcc 3.3.3

    mfg LastManStanding



  • %s ?



  • Benutz mal -W -Wall als Compiler Option, dass erhöht die Anzahl der Warnungen. Dann solltest du Fehler schneller finden, so wie hier das %s 🙂



  • Oh ja!
    Hab's nicht bemerkt, da ich bei Programmaenderung vergessen habe das auch zu aendern.

    Danke!

    mfg LastManStanding



  • ach LASMANSTANDING dass dir sowas passiert zzz 😃 😃 😃 😃


Anmelden zum Antworten