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

    File inesistente

    Ragazzi ho fatto questa prova per verificare con una riga di codice se un file esisteva:

    int x= system("ls /home/.../file");

    e ho stampato x.

    Se un file esiste mi da x=0. Se non esiste mi da errore dicendo che la directory non esiste. Ora, io questa cosa l'ho provata ben sapendo che probabilmente sarebbe stata errata. C'è un modo migliore e altrettanto immediato per verificare l'esistenza di un file da sistema in modo tale da non dare errore rosso??

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    che linguaggio sei?
    Banalmente penso che è più semplice tentare l'apertura del file in lettura, se non riesce vuole dire che c'è un problema (cioè se torna NULL)
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Usa la funzione

    stat
    http://linux.die.net/man/2/stat
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Originariamente inviato da valia
    che linguaggio sei?
    Banalmente penso che è più semplice tentare l'apertura del file in lettura, se non riesce vuole dire che c'è un problema (cioè se torna NULL)
    Sto in C... Siccome da terminale ho notato che se cerco un file che esiste mi stampa la directory mentre se il file non esiste mi dice che è errore, volevo capire come poterlo fare da programma.

    dato un path, come devo usare lstats()? Non ho ben capito che ci devo mettere all'interno

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Non ti ho suggerito lstats ma stat

    int stat(const char *path, struct stat *buf);

    e c'è l'esempio in fondo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da oregon
    Non ti ho suggerito lstats ma stat

    int stat(const char *path, struct stat *buf);

    e c'è l'esempio in fondo ...
    dimentico sempre stat, alla fine non mi chiedo solo se il file esiste, spesso mi interessa anche aprirlo (e con fopen non faccio 2 chiamate)

    Good, me ne ricorderò thanks
    RTFM Read That F*** Manual!!!

  7. #7
    Originariamente inviato da oregon
    Non ti ho suggerito lstats ma stat

    int stat(const char *path, struct stat *buf);

    e c'è l'esempio in fondo ...
    struct stat sb;

    sb che valore ha quindi?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    sb è una struttura ... non ha un valore unico ...

    La cosa importante - come vedi nell'esempio - è il valore restituito dalla funzione.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Ho risolto. Grazie

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,310

    Moderazione

    Originariamente inviato da AyeyeBrazorv
    File inesistente
    Il titolo è del tutto inadeguato: in futuro ricordati di indicare il linguaggio e una descrizione significativa del problema, come da Regolamento.

    Qui ho corretto io.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.