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 :

selectionner certaines fichiers parmis d'autres et renommer


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 15
    Points : 6
    Points
    6
    Par défaut selectionner certaines fichiers parmis d'autres et renommer
    bonjour

    j'ai un dossier avec plein de fichiers en png.
    je voudrais en selectionner 1 sur 2 à chaque fois et les renommer.

    est ce possible de faireca en C??
    si oui, pouvez vous me dire la démarche?

    merci

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Donne l'architecture et on pourra peut être t'aider ...

  3. #3
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    est ce possible de faireca en C??
    si oui, pouvez vous me dire la démarche?
    Tout est possible, tout est envisageable

    Mais pour ce genre de chose, le PERL ou directement en shellscript est probablement une meilleure solution (mais cela dépend de ton SE)

    Jc

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    j'ai un dossier images.
    dans ce dossier j'ai des fichiers 0.png, 1.png, 2.png 3.png etc...

    j'aimerais selectionnier les fichiers ayant un numero pair par exemple et les copier dans un dossier imageBIS.

    puis je voudrais renommer ces fichiers 0.png, 2.png, 4.png etc... en 0.png, 1.png, 2.png etc...

    j'ai windows XP.
    à la fin, le programme doit marcher sur un pc équipé de win XP.

    je pense commencer sur linux avec gedit cependant. mais sur XP, je pourrais faire ca avec devC++

    merci

  5. #5
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Dans ce cas, je crois que ta question n'est pas inérente au C mais plutôt à la programmation de ta platteforme, tu sais il existe un forum développement windows ...

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    vous etes sur que c'est pas possible de faire ca en C???

    avec FILE* fp par exemple, je pointe sur un fichier puis je peux comparer les noms de fichiers non??

    ai-je tort???

  7. #7
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Non, avec FILE * fp, tu as un pointeur sur un fichier, pour pouvoir l'utiliser, tu dois l'ouvrir, or pour l'ouvrir tu dois avoir le nom, donc tu ne peux pas comparer le nom du fichier avec ça.

    En fait, il te faut trouver les appels systèmes qui te permettent de parcourir un dossier. Sous LINUX j'aurai pu t'aider mais sous Windows désolé ...

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    c'est des fichiers png.

    si je les lis, je les lis en ascii?
    est ce que je peux copier ce que je lis et les ecrire sur un nouveau fichier?

    je connais les fichiers que je veux lire: c'est 0.png, 1.png etc...

    donc je peux faire un truc du style fp=fopen("%d.png )... ou un truc comme ca? le tout dans une boucle pour faire varier mon entier decimal et l'incrementer???

    sinon j'ai ubuntu aussi. donc je peux programmer sous linux

  9. #9
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    C'est une possibilité, mais tu vas t'embêter un peu, alors qu'avec les appels systèmes, c'est plus simple et surement plus rapide

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    c quoi les appels systemes?

    et sinon je peux donc faire comme je disais avec XP?
    recopier le contenu du fichier png dans un autre fichier???
    mais pour faire des fprintf ou autre chose
    ( je sais pas trop quelle fonction je devrais utiliser pour recopier, ya t il une condition? est ce ca doit etre en ascii?? si oui, je serais forcement en ascii quand ca va etre lu??)

    merci

  11. #11
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par PRomu@ld
    C'est une possibilité, mais tu vas t'embêter un peu, alors qu'avec les appels systèmes, c'est plus simple et surement plus rapide
    Depuis quand ? Les appels standards sont archi bufferisés (BUFSIZ), quasiment tout se fait en mémoire, alors que les appels systèmes sollicitent beaucoup plus le contrôleur de disque...

    Il n'y a aucune raison d'utiliser les appels systèmes pour lire ou écrire dans un fichier. Ca n'a d'intérêt que pour les opérations spéciales (ioctl ou droits d'accès particuiers) hors normes (du moins vu du C.).
    Pas de Wi-Fi à la maison : CPL

  12. #12
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par PRomu@ld
    Non, avec FILE * fp, tu as un pointeur sur un fichier,
    Non. Sur un descripteur de fichier. (Une structure opaque sans importance particulière)
    En fait, il te faut trouver les appels systèmes qui te permettent de parcourir un dossier. Sous LINUX j'aurai pu t'aider mais sous Windows désolé ...
    Bah pareil, c'est POSIX :
    opendir(), readdir() etc.
    Pas de Wi-Fi à la maison : CPL

  13. #13
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par lesvacances
    c'est des fichiers png.

    si je les lis, je les lis en ascii?
    Tu parles de mode texte ? Oui. Il me semble que PNG, c'est du texte. A vérifier sur http://www.wotsit.org/
    est ce que je peux copier ce que je lis et les ecrire sur un nouveau fichier?
    Oui, fgets()/ fputs() (ligne par ligne) ou fgetc()/fputc() (caractère par caractère)

    je connais les fichiers que je veux lire: c'est 0.png, 1.png etc...

    donc je peux faire un truc du style fp=fopen("%d.png )... ou un truc comme ca? le tout dans une boucle pour faire varier mon entier decimal et l'incrementer???
    Oui. Tu peux construire des chaines avec sprintf() qui serviront de nom de fichier. C'est du C standard. Rien de sorcier. Evidemment, comme toujours avec les chaines, il faut veiller à ne pas déborder des tableau de char allouées...
    Pas de Wi-Fi à la maison : CPL

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    salut

    j'ai un petit probleme dans la creation de fichier.

    je voudrais pas exemple creer 3 fichiers 1.txt, 2.txt et 3.txt.

    je pourrais faire
    FILE *fp;

    fp=fopen("1.txt", "w");
    fclose(fp);

    fp=fopen("2.txt", "w");
    fclose(fp);

    fp=fopen("3.txt", "w");
    fclose(fp);
    mais si j'ai 100 fichiers à creer, il vaut mieux faire une boucle FOR...

    et dans ce cas, je ne sais pas comment faire.

    car si je fais ca
    int i=1;
    FILE *fp;
    for(i=1; i<4; i++) {
    fp=fopen("%d.txt", i, "w");
    fclose(fp);
    il ne compile pas

    emmanuel Delahaye a parlé de sprintf mais je ne sais pas l'utiliser.

    merci

  15. #15
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par lesvacances
    emmanuel Delahaye a parlé de sprintf mais je ne sais pas l'utiliser.
    Alors c'est le moment d'apprendre. Si tu connais printf(), ca ne devrait pas être trop dur. Lit la doc, fait des essais simples, et si ça ne fonctionne pas, poste le code. Quand on tombe sur une nouvelle fonction, il faut prendre un peu de temps pour la maitriser.
    Pas de Wi-Fi à la maison : CPL

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    c'est bon, j'ai trouvé et j'ai compris.

    j'ai un autre probleme pour la lecture des fichiers png.
    d'abord, je ne sais pas si c'est binaire ou ascii quand ca va etre lu.

    mais dans tout les cas, je peux pas juste faire
    fscanf (ancien_fichier,"%s", &chaine);
    fprintf(nouveau_fichier, "%s" chaine);
    car je ne sais pas de combien de caracteres il y aura dans le fichier png.

    comment remedier à ce probleme?

  17. #17
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par lesvacances
    j'ai un autre probleme pour la lecture des fichiers png.
    d'abord, je ne sais pas si c'est binaire ou ascii quand ca va etre lu.
    Je t'ai donné un lien pour vérifier. J'aurais mieux fait de regarder la télé ou quoi ?
    mais dans tout les cas, je peux pas juste faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    fscanf (ancien_fichier,"%s", &chaine);
    fprintf(nouveau_fichier, "%s" chaine);
    Ce code est très faux et dangereux pour de nombreuses raisons. Je t'ai indiqué 2 couples de fonctions sûres, et tu m'en sors un troisième qui est le plus difficile à utiliser. C'est par esprit de contradiction. Tu veux faire le malin ? C'est fatiguaant à la fin. On se tue à donner des indications et les gens font n'importe quoi. Parfois on a envie de tout envoyer balader et de les laisser se demm*rder... Ouf, c'est dit...
    car je ne sais pas de combien de caracteres il y aura dans le fichier png.

    comment remedier à ce probleme?
    En lisant / ecrivant plusieurs fois jusqu'a ce qu'on detecte la fin de lecture. L'usage d'une boucle semble évident. Encore une fois, à expérimenter sur des choses simples pour commencer si tu n'es pas à l'aise. Se construire une fonction de copie de fichier n'est pas un exercice inutile).
    Pas de Wi-Fi à la maison : CPL

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    j'ai regardé ton lien, mais il est en anglais....

    et moi et l'anglais malheuresement....

  19. #19
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par lesvacances
    j'ai regardé ton lien, mais il est en anglais....

    et moi et l'anglais malheuresement....
    Et tu compte faire quoi comme métier ? En France, l'enseignement de l'anglais est obligatoire. Il n'y a donc aucune raison que tu l'ignores. Evidemment si tu négliges les cours d'anglais, tu reduis d'autant tes chances d'arriver à faire quelquechose d'interessant dans la vie...

    Tout ce qu'on te demande c'est de savoir le lire. C'est pas difficile. Ecrire, parler, comprendre (oralement), c'est nettement plus dur, mais ce n'est pas requis. Lire, oui.
    Pas de Wi-Fi à la maison : CPL

  20. #20
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Ecrire, parler, comprendre, c'est nettement plus dur, mais ce n'est pas requis. Lire, oui.
    En meme temps si tu lis le texte mais que tu ne le comprends pas c'est pas tres utile
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

Discussions similaires

  1. Determiner la listbox selectionnée parmis d'autres créées automatiquement
    Par TinouJak dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 13/04/2011, 22h00
  2. [XL-2003] Transférer des données d'un fichier dans un autre et Renommer le fichier
    Par sylviobarca dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/03/2011, 14h19
  3. Réponses: 1
    Dernier message: 10/05/2010, 14h44
  4. Réponses: 2
    Dernier message: 18/03/2009, 15h57
  5. Copier un certain nombre de lignes d'un fichier vers un autre fichier
    Par Aicha78 dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 14/01/2009, 22h35

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