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
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
Donne l'architecture et on pourra peut être t'aider ...
Tout est possible, tout est envisageableest ce possible de faireca en C??
si oui, pouvez vous me dire la démarche?
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
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
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 ...
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???
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é ...
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
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
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
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...Envoyé par PRomu@ld
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
Non. Sur un descripteur de fichier. (Une structure opaque sans importance particulière)Envoyé par PRomu@ld
Bah pareil, c'est POSIX :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é ...
opendir(), readdir() etc.
Pas de Wi-Fi à la maison : CPL
Tu parles de mode texte ? Oui. Il me semble que PNG, c'est du texte. A vérifier sur http://www.wotsit.org/Envoyé par lesvacances
Oui, fgets()/ fputs() (ligne par ligne) ou fgetc()/fputc() (caractère par caractère)est ce que je peux copier ce que je lis et les ecrire sur un nouveau fichier?
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...
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???
Pas de Wi-Fi à la maison : CPL
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
mais si j'ai 100 fichiers à creer, il vaut mieux faire une boucle FOR...FILE *fp;
fp=fopen("1.txt", "w");
fclose(fp);
fp=fopen("2.txt", "w");
fclose(fp);
fp=fopen("3.txt", "w");
fclose(fp);
et dans ce cas, je ne sais pas comment faire.
car si je fais ca
il ne compile pasint i=1;
FILE *fp;
for(i=1; i<4; i++) {
fp=fopen("%d.txt", i, "w");
fclose(fp);
emmanuel Delahaye a parlé de sprintf mais je ne sais pas l'utiliser.
merci
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.Envoyé par lesvacances
Pas de Wi-Fi à la maison : CPL
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
car je ne sais pas de combien de caracteres il y aura dans le fichier png.fscanf (ancien_fichier,"%s", &chaine);
fprintf(nouveau_fichier, "%s" chaine);
comment remedier à ce probleme?
Je t'ai donné un lien pour vérifier. J'aurais mieux fait de regarder la télé ou quoi ?Envoyé par lesvacances
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...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);
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).car je ne sais pas de combien de caracteres il y aura dans le fichier png.
comment remedier à ce probleme?
Pas de Wi-Fi à la maison : CPL
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...Envoyé par lesvacances
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
En meme temps si tu lis le texte mais que tu ne le comprends pas c'est pas tres utileEnvoyé par Emmanuel Delahaye
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]
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager