- #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;
-
- }
#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;
}