Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5267 connectés 

 


Dernière réponse
Sujet : Les fichiers en C ANSI
Cherrytree Je viens à l'instant de tester le programme, il est bien cool. Je te remercie de ton aide.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Cherrytree Je viens à l'instant de tester le programme, il est bien cool. Je te remercie de ton aide.
Cherrytree Merci beaucoup à toi. J'ai cru que la remarque concernant ton site Internet m'étais destinée. Il y a maintenant 6 mois que je roule ma bosse sur le forum, et jamais personne ne m'avait sauté dessus comme cela.
 
Désolé donc aussi. Sache que j'apprécie beaucoup le geste.
zop il manque une parenthèse fermante, désolé
zop

Cherrytree a écrit a écrit :

Je n'ai pas enlevé l'adresse de mon site. Vous pouvez donc toujours aller voir mon misérable site. Mais passons voulez-vous ?
 
Je cherche à masquer une ligne dans un fichier texte. pourrais-je avoir quelque chose de constructif de votre part, peut-être ?

 





 
Te fâche pas, man. Si tu relis avec plus d'attention les 2 posts précédant le tien , tu te rendras compte qu'il s'agit d'une blague de ce bon vieux Lord II concernant mon site perso (celui de "zop" ) et non pas du tien. D'ailleurs, toutes mes excuses pour mon premier post, je reconnais qu'il est totalement off-topic et stupide.
 :jap:ssje regrette ce que j'ai pu écriress:sweat: , sincèrementss
 
bon pour t'aider, à la place du bloc
 
/***********************************************************
 while(fgets(ligne,sizeof(ligne),fd)){
ssif (strstr(ligne,pb));
sselse fprintf(df,"%s",ligne);
}
***********************************************************/ss
tu pourrais écrire
 
/***********************************************************
 while(fgets(ligne,sizeof(ligne),fd)){
ssif (strstr(ligne,pb)) fprintf(df,"%s","// ";
ssfprintf(df,"%s",ligne);
}ss
************************************************************/
 
je n'ai pas testé mais je pense que çà devrait fonctionner
 
Salut et sans rancune

Cherrytree Je n'ai pas enlevé l'adresse de mon site. Vous pouvez donc toujours aller voir mon misérable site. Mais passons voulez-vous ?
 
Je cherche à masquer une ligne dans un fichier texte. pourrais-je avoir quelque chose de constructif de votre part, peut-être ?
zop

Lord II a écrit a écrit :

 
 
Tu as bien fait d'enlever l'adresse de ton site car c'était misérabless :Dss:Dss:Dss:Dss:Dss:D
 
 

 





 
balance :D :D :D

Lord II

zop a écrit a écrit :

la partie Dragon Ball Z de ton site est misérable :D

 





 
Tu as bien fait d'enlever l'adresse de ton site car c'était misérabless
 :Dss:Dss:Dss:Dss:Dss:D

 

Cherrytree Voilà, maintenant, je sais exactement ce que veux : dans un fichier texte, en tout début d'une ligne ou se trouve écrit le mot Jean-Pierre, je veux placer //, pour que la ligne soit traitée comme commentaire.
Cherrytree Escuse-moi si je n'ai pas répondu : j'étais en train de manger. Tu n'es pas un mauvais bougre finalement ! Merci de ton aide. Voilà sinon pour la question de tout à l'heure : c'est la ligne qui est à bannir. Mais c'est déjà un début. Merci beaucoup.
 
Note qu'à la rigueur, vu que le but de l'opération est de supprimer des lignes de code contenant un mot clé, je peux aussi bien mettre des commentaires du genre // en début de ligne.
 
Je suis preneur.
zop T'as pas répondu ... alors voilà un source qui prend sur la ligne de commande le nom du fichier à traiter, ensuite il faut saisir la chaîne de caractère à bannir. Un fichier avec une extension 'tmp' est créé; il contient les lignes du fichier original ne contenant pas la chaîne saisie par toi.
voici :ss
 
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
 
 
void main(int argc,char *argv[]){
 
 
 FILE * fd,*df;
 char ligne[65535];
 char pb[4096];
 
 if (argc!=2){
ssfprintf(stderr,"%s %s %s","Il y a un problème, il y a ",(argc>2) ? "trop" : "pas assez"," d'argument sur la ligne de commande" );
ssexit(-1);
 }
 else{
ssstrcpy(ligne,argv[1]);
ssstrcat(ligne,".tmp" );
ssdf=fopen(ligne,"w" );
ssif (!df){
ss printf("%s","impossible d'ouvrir le fichier de sortie" );
ss exit(-3);
ss}
 }
 fd = fopen(argv[1],"r" );
 if (!fd){
ssfprintf(stderr,"Impossible d'ouvrir le fichier "%s"
",argv[1]);
ssexit(-2);
 }
 printf("Veuillez saisir la chaine à retirer ?" );
 scanf("%s",pb);
 while(fgets(ligne,sizeof(ligne),fd)){
ssif (strstr(ligne,pb));
sselse fprintf(df,"%s",ligne);
 }
 fclose(fd);
 fclose(df);
}
 
 
Je sais, je sais, ce n'est pas très propre tout ceci mais c'est pour l'exemple.
 
PS : si le fichier contient des lignes de plus de 65535 caractères, le bon fonctionnement n'est pas garanti.
zop Quand tu dis retirer la ligne, tu veux dire retirer la ligne qui contient la chaîne de caractère ou alors tu veux juste retirer la chaîne de caractère du fichier?
Cherrytree Merci bien, mais ce n'est pas de cela qu'il s'agit.
zop la partie Dragon Ball Z de ton site est misérable :D
Cherrytree A sinon j'ai fait des essais de mon côté pour voir ce que je donne en prog, mais après une heure et demi de fonctions à la con (mais je vous laisse seuls juges...) je ne suis même pas foutu de compiler. J'attends vos commentaires là dessus.
 
 
 
#include <stdio.h>
 
void saisir(char *p)
{ printf("Entrez le nom du fichier à ouvrir : " );
 scanf("%s", p);
}
 
void afficher(char *p)
{
 printf("Le nom du fichier à ouvrir est : %s
", p);
}
 
void ouvrir(FILE *fp, char *p)
{
 if((fp=fopen(p, "r" ))==NULL)
ssprintf("ERREUR : impossible d'ouvrir %s
", p);
 fp=fopen(p, "a" );
}
 
void fermer(FILE *fp)
{
 fclose(fp);
}ss
 
void newline(void)
{
 printf("
" );
}
 
main()
{
 char nom_fichier[30];
 FILE *nom_interne;
 char *ptr_nom;
 
 saisir(nom_fichier);
 afficher(nom_fichier);
 
 newline();
 
 ptr_nom=nom_fichier;
 ouvrir(nom_interne, ptr_nom);
 fermer(nom_interne);
}
 
 
Mon problème vient des appels de fonctions et des pointeurs. Je me trompe tout le temps. Si quelqu'un peut m'expliquer tout ça, je serais super content.
Cherrytree Voilà, voilà, je ne suis pas une bête du C. Si quelqu'un peut m'aider...
 
J'ai besoin d'ouvrir un fichier dont je connais le nom, disons "fichier.txt". Je dois rechercher une chaîne de caractère "coucou" dans le fichier et supprimer la ligne du fichier.
 
Une adresse de site Internet ou bien un source : je suis preneur !

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)