IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

detruire un fichier


Sujet :

C

  1. #1
    Mau
    Mau est déconnecté
    Membre à l'essai
    Inscrit en
    Avril 2002
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 15
    Points : 19
    Points
    19
    Par défaut detruire un fichier
    Bonjour,

    je cherche une fonction qui me permette d'effacer un fichier, existe t'il un équivalent de FILE fopen fclose

    du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    FILE*hello;
    hello=fopen("test.txt",w);
    fclose(hello);
     
    /*exemple : destroy(hello);//pour detruire le fichier sur le disque ?*/
    merci a plus...

  2. #2
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 859
    Points : 4 807
    Points
    4 807
    Par défaut
    Hi !

    Il me semble que la fonction unlink te fasse ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #include <unistd.h>
     int unlink(const char *pathname);
    @ +++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <stdio.h>
    int remove(const char *path);

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    unlink c sous nux et remove sous win je crois bien

    Sous win tu as aussi DeleteFile
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    La MSDN me dit que remove c'est ANSI à moi.

  6. #6
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    je ne sais pas moi quand je suis sous linux j'utilise unlink et sous win remove

    Pourquoi ?
    parce que ca marche nickel comme ça

    sinon oui peut etre que remove marche sous linux, je n'ai jamais essayé et l'inverse unlink marche sous win ? je doute mais bon
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Points : 24
    Points
    24
    Par défaut
    personnellement je fais un fork dans lequel je fais un exec de "rm" sous linux...et ca marche evidemment tres bien .

  8. #8
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    oui y'a plein de façon de detruire un fchier c comme system("del fichier")

    mais si on peut faire du code portable ou ansi

    d'ailleurs code portable = code ansi ?

    Parce que si c'est ça si on a un programme qui doit creer un processus on est mal barré alors

    le createProcess marchera pas sous nux ainsi que le fork sous win

    donc ansi != portable ? c mon premier raisonnement pour dire que non

    Si y'en a qui connaisse bien le sujet et peuvent repondre se serait sympa
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  9. #9
    Membre éclairé
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Points : 742
    Points
    742
    Par défaut
    Salut
    Citation Envoyé par Viquel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <stdio.h>
    int remove(const char *path);
    Juste pour remarque, apparament la fonction remove ne serait qu'une macro qui utilise la fonction unlink.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #include <stdio.h>
    int unlink(const char *path) ;
     
    #define remove(path)        unlink(path)
    A prendre avec des pincettes car avec la foulltitude de compilateurs....

    Bye...
    - Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
    - Travailler dur n'a jamais tué personne, mais pourquoi prendre le risque (Edgar Bergen)

  10. #10
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 190
    Points : 83
    Points
    83
    Par défaut
    J'utilise unlink sous Borland Turbo C++3 sous Dos et ça fonctionne très bien.
    Pour mes développements, j'utilise :
    WinX-64bits, Delphi Tokyo 10.2.2
    Merci, merci, merci... moi aussi je vous aime, c'est trop d'émotions...
    Key user des blagues nulles

  11. #11
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 338
    Points : 130 361
    Points
    130 361
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hegros
    d'ailleurs code portable = code ansi ?
    Pas nécessairement. Ça dépend à quel point tu veux être portable. Le code ANSI et l'utilisation uniquement des fonctions ANSI te garantit le fonctionnement sur tous les compilateurs C (ANSI). Mais il y a POSIX, une norme pour tous les Unix (unlink en fait partie). Mais Win32 n'est pas compatible avec cette norme

    Pour la création de processus, c'est simple il n'y a aucune fonction ANSI pour le faire : après tous, tous les systèmes existants n'ont pas la notion de processus. fork() fait partie de POSIX cependant.
    Responsable technique forum & site

    Si ce message (ou un autre) vous a aidé et/ou vous semble pertinent, votez pour lui avec

  12. #12
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2002
    Messages : 290
    Points : 325
    Points
    325
    Par défaut
    Citation Envoyé par Elijha
    Salut
    Citation Envoyé par Viquel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <stdio.h>
    int remove(const char *path);
    Juste pour remarque, apparament la fonction remove ne serait qu'une macro qui utilise la fonction unlink.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #include <stdio.h>
    int unlink(const char *path) ;
     
    #define remove(path)        unlink(path)
    A prendre avec des pincettes car avec la foulltitude de compilateurs....

    Bye...
    selon sun :

    For files, remove() is identical to unlink(). For directories, remove() is identical to rmdir().
    selon Linux
    Under libc4 and libc5, remove was an alias for unlink (and hence would not remove directories).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [batch file] detruire des fichiers dans une arborescence
    Par Biosox dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 03/06/2008, 10h10
  2. fichier mappé en mémoire
    Par WinBernardo dans le forum Delphi
    Réponses: 7
    Dernier message: 01/12/2006, 09h38
  3. detruire une chaine dans un fichier texte
    Par rober dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 08/11/2006, 09h27
  4. Réponses: 4
    Dernier message: 20/06/2006, 09h18
  5. Lire 1 bit d'un fichier en C
    Par Anonymous dans le forum C
    Réponses: 3
    Dernier message: 23/05/2002, 18h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo