Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] Problema con lista nomi file

    Intanto il codice, molto molto semplice...

    codice:
    #include <stdio.h>
    #include <dirent.h>
    #include <sys/stat.h>
    
    int main()
    {
    DIR *dir;
    struct dirent *file;
    struct stat filestat;
    char filepath[256], dir_source[128];
    
        sprintf(dir_source,".");
        if (*dir_source != '\0') {
            /* Leggo tutti i file contenuti nella directory dir_source */
            if ((dir=opendir(dir_source)) == NULL) {
                printf("!>>> Directory %s inesistente o inaccessibile!\n",dir_source);
                return;
            }
            while ((file=readdir(dir)) != NULL) {
                lstat(filepath, &filestat);
                strcpy(filepath, dir_source);
                strcat(filepath, file->d_name);
                printf("Name = %s\n",file->d_name);
                if (!S_ISDIR(filestat.st_mode))
                    printf("Leggo file %s\n",filepath);
            }
        }
    Mi ritornano sempre i nomi dei file (nelle ultime 2 printf) come una serie di caratteri speciali e lettere a caso... io errori non ne vedo, qualcuno può aiutarmi?
    Non e' bello cio' che e' bello... ma che bello che bello che bello...
    Utonter. Il silenzio degli ignoranti

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Io non ho riscontrato il problema. L'ho chiamato dirent.c:
    codice:
    $ gcc -o bin/dirent src/dirent.c
    $ dirent
    Name = .
    Leggo file ..
    Name = ..
    Name = .kde
    Name = .bash_logout
    Name = .bash_profile
    Name = .bashrc
    Name = .emacs
    Name = .gtkrc
    Name = .gnome2
    Name = .Xauthority
    Name = .xsession-errors
    Name = .first_start_kde
    Name = .qt
    Name = .autorun.lck
    Name = .viminfo
    Name = .DCOPserver_zeus__0
    Name = .fonts.cache-1
    Name = .gtkrc-kde
    Name = .mcop
    Name = ac9
    Name = .mcoprc
    Name = .ICEauthority
    Name = Desktop
    Name = .gnome
    Name = .gnome2_private
    Name = .gconfd
    Name = .gconf
    Name = .rhn-applet.conf
    Name = .bash_history
    Name = .prxXaGP5C
    Name = .xsmwkFdz4
    Name = .procmailrc
    Name = .fetchmailrc
    Name = src
    Name = Allegati
    Name = bin
    Name = compila
    Name = Mail
    Name = .DCOPserver_zeus_:0
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Ho provato a compilarlo da linea di comando... e non mi da più alcun problema!! :master:

    Dev'essere il mio Dev-C++ che da i numeri e compila in qualche maniera strana!

    Grazie per l'attenzione!
    Non e' bello cio' che e' bello... ma che bello che bello che bello...
    Utonter. Il silenzio degli ignoranti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.