supprimer un fichier sous unix

supprimer un fichier sous unix - C - Programmation

Marsh Posté le 06-12-2005 à 16:04:16    

Salut, bon avant que quelqu'un me traite de boulet ou me renvois sur google (google est ton ami), lisez bien ;)
 
Alors voila je veux supprimer un fichier sous unix, mais sans connaître le nom du fichier, le nom du fichier est demandé dans le Shell, et c'est l'utilisateur qui précise le fichier a supprimer.
EX:

Code :
  1. printf("quel fichier voulez vous supprimer ?\n" );
  2. scanf("%s",chaine)
  3. system("rm",chaine);


Mais voila sa marche pas !!! je suis obliger de mettre un truc comme ça:

Code :
  1. system("rm","nom de fichier" );


 
vous connaissez la methode ?? merci

Message cité 2 fois
Message édité par marcmm13 le 06-12-2005 à 16:06:02
Reply

Marsh Posté le 06-12-2005 à 16:04:16   

Reply

Marsh Posté le 06-12-2005 à 16:07:35    

unlink


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 06-12-2005 à 16:07:44    

man 2 unlink
ou  
man 3 unlink
 

Reply

Marsh Posté le 06-12-2005 à 16:07:53    

phoque

Reply

Marsh Posté le 06-12-2005 à 16:08:47    

tu n'es pas encore un vrai linuxien, petit baobab :o


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 06-12-2005 à 16:13:57    

pourtant y'a 'man' dans mon post ?

Reply

Marsh Posté le 06-12-2005 à 16:20:27    

marcmm13 a écrit :

Alors voila je veux supprimer un fichier sous unix, mais sans connaître le nom du fichier, le nom du fichier est demandé dans le Shell, et c'est l'utilisateur qui précise le fichier a supprimer.


La fonction standard est remove() (<stdio.h> ).


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 06-12-2005 à 18:27:09    

tout d'abord merci à Elianor & chrisbk qui on réussi a rajouter 2 post suplémentaires, Good game les gas...
ET plus particulierement merci à Emmanuel Delahaye pour ta réponse claire qui a dus prendre moins de temps a rédiger que les 4 autres POST... je vai méditer sur ta réponse et sur ce bonne soirée !

Reply

Marsh Posté le 06-12-2005 à 18:30:44    

Reply

Marsh Posté le 06-12-2005 à 18:31:21    

marcmm13 a écrit :

tout d'abord merci à Elianor & chrisbk qui on réussi a rajouter 2 post suplémentaires,


 
tu veux un robofloude ?


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 06-12-2005 à 18:31:21   

Reply

Marsh Posté le 06-12-2005 à 18:36:02    

bravo, avec de la chance un jour tu seras banni une 17ème fois, je suis heureux de voir que tu occupe ton temps perdu a des fins profitables pour les autres. Amuses toi bien a flooder moi j'ai eu ma reponse. ciao et encore GG les gas ;)

Reply

Marsh Posté le 06-12-2005 à 18:45:48    

Non mais tu es conscient que unlink() est POSIX.1 et que, du fait que ta tâche ne se passe que sous Unix, c'est tout aussi standard que remove() (norme C89) ? [:pingouino]
 
Tu es conscient aussi que ta question se résolvait en 2s sous Google, et qu'elle est tellement triviale que des gens qui ont un peu de compétence la prenne à la légère ?

Reply

Marsh Posté le 06-12-2005 à 18:46:41    

marcmm13 a écrit :

Salut, bon avant que quelqu'un me traite de boulet ou me renvois sur google (google est ton ami), lisez bien ;)
 
Alors voila je veux supprimer un fichier sous unix, mais sans connaître le nom du fichier, le nom du fichier est demandé dans le Shell, et c'est l'utilisateur qui précise le fichier a supprimer.
EX:

Code :
  1. printf("quel fichier voulez vous supprimer ?\n" );
  2. scanf("%s",chaine)
  3. system("rm",chaine);


Mais voila sa marche pas !!! je suis obliger de mettre un truc comme ça:

Code :
  1. system("rm","nom de fichier" );


 
vous connaissez la methode ?? merci


 

Citation :

#include <stdlib.h>
 
int system(const char *string);


 
Je sais meme pas comment tu linkes, vu que system() ne prend qu'un argument.
 
A+,


Message édité par gilou le 06-12-2005 à 18:49:04

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 06-12-2005 à 18:47:57    

bin c'est du C hein ? il a pas du faire l'include de stdlib, donc ca a fait par defaut une fonction int system(bli, bal, bli), et vu qu'il y a pas de decoration de nom en C c'est passé au linker sans pb

Reply

Marsh Posté le 06-12-2005 à 18:49:39    

Je suis conscient que si je pose la question c'est que je suis un debutant en C, je me contante de savoir ce que m'ont appris les profs et le remove n'en fesait pas parti. Je suis aussi conscient que google pouvait me donner la réponse que si je savait vers où cherché, et je suis aussi conscient( pour reprendre tes termes) qu'à l'avenir je poserai plus de question sur ce forum ou décidement les gens vous prennent pour des cons.

Reply

Marsh Posté le 06-12-2005 à 18:50:47    

bin si tu tapais "man 3 unlink" dans ton linux tu aurais eu la solution, figure toi  

Reply

Marsh Posté le 06-12-2005 à 18:51:49    

je sais meme pas ce que ça veut dire....... Bon sur ceux j'arrete la notification par email, faites comme si j'avais pas posé de questions ;)

Reply

Marsh Posté le 06-12-2005 à 18:52:28    

c'est le mot "taper" qui te pose probleme ? [:el g]

Reply

Marsh Posté le 06-12-2005 à 18:56:54    

chrisbk a écrit :

bin c'est du C hein ? il a pas du faire l'include de stdlib, donc ca a fait par defaut une fonction int system(bli, bal, bli), et vu qu'il y a pas de decoration de nom en C c'est passé au linker sans pb

Donc il a pas du lire les Warnings de la compil qui lui signalaient ce détail...
Sans compter la page man indiquant le proto de system...
 
A+,


Message édité par gilou le 06-12-2005 à 18:57:46

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 06-12-2005 à 18:59:15    

bin nan, cf sa reponse quand je lui dis de taper "man 3 unlink" [:pingouino]

Reply

Marsh Posté le 06-12-2005 à 19:02:29    

Oui, pretendre bosser sous unix et ne pas connaitre man, ca sent l'étudiant qui finit par se mettre a bosser ses cours d'infos a une/deux semaine des partiels...
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 06-12-2005 à 22:41:13    

Reply

Marsh Posté le 07-12-2005 à 10:37:01    

marcmm13 a écrit :

je me contante de savoir ce que m'ont appris les profs et le remove n'en fesait pas parti.


 
ou mais tu vas aller loin comme ca !


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 07-12-2005 à 11:07:35    

marcmm13 a écrit :

Je suis conscient que si je pose la question c'est que je suis un debutant en C, je me contente de savoir ce que m'ont appris les profs et le remove n'en faisait pas partie ..


L'orthographe non plus... apparemment...

marcmm13 a écrit :

Je suis aussi conscient que google pouvait me donner la réponse que si je savais vers où chercher, et je suis aussi conscient (pour reprendre tes termes) qu'à l'avenir je ne poserai plus de question sur ce forum où décidement les gens vous prennent pour des cons.


 
 :heink: Hum... voilà une généralisation bien facile...
 
En tout cas, moi j'ai tapé textuellement les mots suivants:

  • comment effacer un fichier en C

sous google en cochant le bouton "Pages : France" et la 4° réponse m'a amené sur la page http://www.tuxfinder.com/french/PerlIntro/node109.html où il est marqué :

Citation :

Comment effacer ou copier un fichier ?  
Pour effacer un fichier, il est inutile de faire un appel au programme /bin/rm, comme beaucoup de personnes le font. Il existe une instruction unlink qui appelle la fonction C du même nom et supprime le fichier dont le nom est passé en paramètre.


 
 :sarcastic:


Message édité par Sve@r le 07-12-2005 à 11:17:12

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 08-12-2005 à 00:10:27    

Tu remarquera quand meme que justement, google ne t'as pas donne la meilleure reponse (remove, a preferer a unlink qui est "moins standard" ). D'ou l'interet de demander sur un forum en plus de chercher sur goole.

Reply

Marsh Posté le 08-12-2005 à 09:55:29    

Enfin ça dépend comment on fait sa recherche sous Google, aussi.
Par principe je recherche toujours en anglais, le nombre de réponses est souvent plus important.
 
En l'occurrence, "C delete file" me renvoie ce lien en 4e position (pour les 3 premiers liens, le "C" vient de "C:\" ) :
http://www.eskimo.com/~scs/C-faq/q19.16.html

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed