Ca peu paraitre bette, mais es ce que rename et remove s'applique que a certains fichier?
Ca peu paraitre bette, mais es ce que rename et remove s'applique que a certains fichier?
Ben faut que tu ais les droits sur les fichiers bien evidemment.
Les droit?Envoyé par Skyrunner
Je pensse que je les ait tous, c'est moi qui les crée...!!!
Enfin peu etre que je me trompe...
Ce code ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 char nom_fichier_pb_v[256]=" ", nom_fichier_exe_v[256]=" "; char *nom_fichier_pb=nom_fichier_pb_v, *nom_fichier_exe=nom_fichier_exe_v; strcat(nom_fichier_pb,"\""); strcat(nom_fichier_exe,"\""); strcat(nom_fichier_pb,NOM_FICHIER[i]); strcat(nom_fichier_exe,NOM_FICHIER[i]); strcat(nom_fichier_exe,".exe"); strcat(nom_fichier_pb,"\""); strcat(nom_fichier_exe,"\""); printf("%s %s ",nom_fichier_pb,nom_fichier_exe); rename(nom_fichier_pb,nom_fichier_exe); nom_fichier_pb=nom_fichier_exe; strcat(nom_fichier_exe," 22"); system(nom_fichier_exe); remove(nom_fichier_pb);
Dites moi svp pourquoi il ne fonctionne pas.
On ai sensé deviner ce qui ne fonctionne pas ?Envoyé par miron
Avoir un peu plus d'information sur ton problème pourrai nous aider : comportement attendu, comportement obtenu et suretou le résultat du printf (je n'est pas envi de comprendre du code sur deux colonnes, ce n'est pas un journal que tu es en train d'écrire).
Code sur 2 colonnes? C'est pour une plus grande comprenhention, on voit les 2 nom_fichier se modifier en mm temps.Envoyé par gege2061
Pour ce qui est du comportement, c'est simple si je puis dire, c'est que mon remove ne fonctionne pas...!!!
Donc mon system non plus...![]()
Rengaine habituelle "Ce code est incomplet. Il n'est pas testable"... Je fatigue...Envoyé par miron
Faisons des hypothèses :
Ca donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 #include <stdio.h> #include <string.h> #include <stdlib.h> int main (void) { char NOM_FICHIER[][10] = {"xxx.=exe"}; int i = 0; char nom_fichier_pb_v[256] = " "; char nom_fichier_exe_v[256] = " "; char *nom_fichier_pb = nom_fichier_pb_v, *nom_fichier_exe = nom_fichier_exe_v; strcat(nom_fichier_pb, "\""); strcat(nom_fichier_exe, "\""); strcat(nom_fichier_pb, NOM_FICHIER[i]); strcat(nom_fichier_exe, NOM_FICHIER[i]); strcat(nom_fichier_exe, ".exe"); strcat(nom_fichier_pb, "\""); strcat(nom_fichier_exe, "\""); /* -ed- pour bien voir le noms de fichier, je recommande l'usage des ' ' autour des chaines... */ printf("'%s' '%s' ", nom_fichier_pb, nom_fichier_exe); { int err; err = rename(nom_fichier_pb, nom_fichier_exe); if (err) { perror("rename"); } nom_fichier_pb = nom_fichier_exe; strcat(nom_fichier_exe, " 22"); system(nom_fichier_exe); err = remove (nom_fichier_pb); if (err) { perror("remove"); } } return 0; }
Il y a un espace au debut des noms de fichiers... C'est normal ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ' "xxx.=exe"' ' "xxx.=exe.exe"' rename: Invalid argument 'xxx.' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. remove: Invalid argument Press ENTER to continue.
DSL POUR LE CODE , JE VAIS M'AMELIORER (comme pour l'ecriture)Envoyé par Emmanuel Delahaye
C'est exactemnet ce que j'ai... enfin pas tt a fait, moi j'ai pas rename mais tout le reste si...Faisons des hypothèses :
Ca donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 #include <stdio.h> #include <string.h> #include <stdlib.h> int main (void) { char NOM_FICHIER[][10] = {"xxx.=exe"};//pourquoi? int i = 0; char nom_fichier_pb_v[256] = " "; char nom_fichier_exe_v[256] = " "; char *nom_fichier_pb = nom_fichier_pb_v, *nom_fichier_exe = nom_fichier_exe_v; strcat(nom_fichier_pb, "\""); strcat(nom_fichier_exe, "\""); strcat(nom_fichier_pb, NOM_FICHIER[i]); strcat(nom_fichier_exe, NOM_FICHIER[i]); strcat(nom_fichier_exe, ".exe"); strcat(nom_fichier_pb, "\""); strcat(nom_fichier_exe, "\""); /* -ed- pour bien voir le noms de fichier, je recommande l'usage des ' ' autour des chaines... */ printf("'%s' '%s' ", nom_fichier_pb, nom_fichier_exe); { int err; err = rename(nom_fichier_pb, nom_fichier_exe); if (err) { perror("rename");//jamais vu!!! } nom_fichier_pb = nom_fichier_exe; strcat(nom_fichier_exe, " 22"); system(nom_fichier_exe); err = remove (nom_fichier_pb); if (err) { perror("remove"); } } return 0; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ' "xxx.=exe"' ' "xxx.=exe.exe"' rename: Invalid argument 'xxx.' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. remove: Invalid argument Press ENTER to continue.NONIl y a un espace au debut des noms de fichiers... C'est normal ?
Ca dépend du système, mais en principe, il n'est pas possible de supprimmer le fichier en cours d'exécution.Envoyé par miron
Cela c'est sur je pensse, c'est comme si on essaier d'enlever le pavé qui est sous nos pieds!!!Envoyé par Emmanuel Delahaye
Mais pourtant j'efface pas le fichier en cour d'execution!!!
Partager