0/5 (7 avis)
Snippet vu 20 668 fois - Téléchargée 37 fois
#include <stdio.h> void transform(char* str){ /*permet d'enlever le \n d'une chaine*/ int cpt; for(cpt=0;str[cpt]!='\0';cpt++); if (cpt>0) str[cpt-1]='\0'; } /*cette fonction n'est pas vraiment performante : elle est juste là pour utiliser le fwrite*/ void ecriture(FILE * fichier){ /*ecrit le fichier caractere par caractere*/ char c; while((c=getchar())!=4) /*ctrl+d et return pour arreter le traitement */ fwrite(&c,sizeof(char),1,fichier); } void lecture(FILE * fichier){ /*lit le fichier caractere par caractere*/ char buf; int ret=1; if (fichier!=NULL) do { ret=fread(&buf,sizeof(char),1,fichier); printf("%c",buf); }while(!feof(fichier)); } int flush_stdin(void){ int c; while((c=getchar())!='\n'); return 0; } int main(void){ FILE * fichier; char nom_fic[80]; char choix; printf("entrez le nom du fichier : "); fgets(nom_fic,80,stdin); transform(nom_fic); printf("choix : l=lecture,e=ecriture\n==>"); scanf("%c",&choix); if (flush_stdin()!=0) printf("tampon non vide"); if (choix=='l') { fichier=fopen(nom_fic,"r"); lecture(fichier); } else if (choix=='e') { fichier=fopen(nom_fic,"w"); ecriture(fichier); } fclose(fichier); return 0; }
18 sept. 2005 à 12:40
J'espere que cette année on apprendra des cours un peu plus...marrant ???
Demain ca fait chier !!! 9h ca fait trop tot !!!
18 sept. 2005 à 10:04
9 avril 2005 à 11:03
tres bien comme amateur !!!
7 janv. 2005 à 10:51
Je débute totalement en C et je devais programmer ce type de programme en ligne de commande sous linux.
Grâce à ce code je m'en suis parfaitement sortie.
Encore merci
28 oct. 2004 à 17:56
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.