Aide en c
zouheirpo
-
zouheirpo -
zouheirpo -
Bonjour,qlq peu m aide dans ma program??PLAISE
une fonction a des paramettre suivants :(char*zou,char*sal)
cette fonction permet de copier le fichier de nom zou dans le fichier de nom sal en remplacant chaque caractére "c" de zou par le caractére "C" dans sal.
plaise aidez moi
une fonction a des paramettre suivants :(char*zou,char*sal)
cette fonction permet de copier le fichier de nom zou dans le fichier de nom sal en remplacant chaque caractére "c" de zou par le caractére "C" dans sal.
plaise aidez moi
6 réponses
bjr et merci pour ta reponce
bon jai fait une essaye mé j ai pa arrivé de complété le programe
voila ce que jai fai
j ai pa travaillé avec la fonction
#include <stdio.h>
#include <stdlib.h>
int main()
{
char* zouheir;
char* salwa;
int rc;
int jh;
FILE* R;
FILE* L;
zouheir=(char*)malloc(20);
salwa=(char*)malloc(20);
printf("entrez la chaine de caractére dans le fichier de nom zouheir\n");
gets(zouheir);
L=fopen("zou.txt","w");
if(L==NULL) printf("erreur");
else fputs(zouheir,L);
printf("entrez la chaine de caractére dans le fichier de nom salwa\n");
gets(salwa);
R=fopen("sal.txt","w");
if(R==NULL) printf("erreur");
else fputs(salwa,R);
puts(zouheir);
puts(salwa);
fclose(R);
fclose(L);
rc = fseek(R,0,SEEK_SET);
jh=fseek(R,0,SEEK_SET);
strcpy(zouheir,salwa);
return;
return 0;
}
bon jai fait une essaye mé j ai pa arrivé de complété le programe
voila ce que jai fai
j ai pa travaillé avec la fonction
#include <stdio.h>
#include <stdlib.h>
int main()
{
char* zouheir;
char* salwa;
int rc;
int jh;
FILE* R;
FILE* L;
zouheir=(char*)malloc(20);
salwa=(char*)malloc(20);
printf("entrez la chaine de caractére dans le fichier de nom zouheir\n");
gets(zouheir);
L=fopen("zou.txt","w");
if(L==NULL) printf("erreur");
else fputs(zouheir,L);
printf("entrez la chaine de caractére dans le fichier de nom salwa\n");
gets(salwa);
R=fopen("sal.txt","w");
if(R==NULL) printf("erreur");
else fputs(salwa,R);
puts(zouheir);
puts(salwa);
fclose(R);
fclose(L);
rc = fseek(R,0,SEEK_SET);
jh=fseek(R,0,SEEK_SET);
strcpy(zouheir,salwa);
return;
return 0;
}
Lorsque tu postes, utilise le bouton "code" à droite de souligner pour garder l'indentation. Sinon c'est illisible.
Sinon, pourquoi fais-tu une allocation dynamique alors que tu connais ta taille à la compilation ?
Un simple : char zouheir[20]; fera amplement l'affaire.
A la place de gets, utilise fgets.
Sinon lorsque tu fais : rc = fseek(R,0,SEEK_SET); alors que tu as fermé le fichier juste au-dessus.
strcpy(zouheir,salwa);
Là, tu mets à la place, nomFonction(zouheir,salwa);
Et tu réalises la fonction qui copie zouheir dans salwa en modifiant les c par C.
Cela se fait simplement avec une simple boucle for et un if.
Et à la fin du fichier, un simple : return 0; suffira.
Sinon, pourquoi fais-tu une allocation dynamique alors que tu connais ta taille à la compilation ?
Un simple : char zouheir[20]; fera amplement l'affaire.
A la place de gets, utilise fgets.
Sinon lorsque tu fais : rc = fseek(R,0,SEEK_SET); alors que tu as fermé le fichier juste au-dessus.
strcpy(zouheir,salwa);
Là, tu mets à la place, nomFonction(zouheir,salwa);
Et tu réalises la fonction qui copie zouheir dans salwa en modifiant les c par C.
Cela se fait simplement avec une simple boucle for et un if.
Et à la fin du fichier, un simple : return 0; suffira.
Ben, un simple :
Après, faudrait faire attention au débordement. En gros, il ne faut pas que l'indice ne dépasse pas 20 (taille de ton tableau).
void titi(const char *src, char *dst) {
for(int i=0;i<strlen(src)+1;i++) {
if( src[i]== 'c')
dst[i]='C';
else
dst[i]=src[i];
}
}
Après, faudrait faire attention au débordement. En gros, il ne faut pas que l'indice ne dépasse pas 20 (taille de ton tableau).
bon voila ce que j ai fais mé toujors pa le resultat!!
#include <stdio.h>
#include <stdlib.h>
int main()
{
int titi(const char zouheir[20], char salwa[20],int i);
for(int i=0;i<strlen(zouheir+1);i++)
if( zouheir[i]== 'c');
salwa[i]='C';
else
salwa[i]=zouheir[i];
return 0;
char* zouheir;
char* salwa;
int rc;
int jh;
FILE* R;
FILE* L;
zouheir=(char*)malloc(20);
salwa=(char*)malloc(20);
printf("entrez la chaine de caractére dans le fichier de nom zouheir\n");
gets(zouheir);
L=fopen("zou.txt","w");
if(L==NULL) printf("erreur");
else fputs(zouheir,L);
printf("entrez la chaine de caractére dans le fichier de nom salwa\n");
gets(salwa);
R=fopen("sal.txt","w");
if(R==NULL) printf("erreur");
else fputs(salwa,R);
puts(zouheir);
puts(salwa);
fclose(R);
fclose(L);
rc = fseek(R,0,SEEK_SET);
jh=fseek(R,0,SEEK_SET);
return;
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int titi(const char zouheir[20], char salwa[20],int i);
for(int i=0;i<strlen(zouheir+1);i++)
if( zouheir[i]== 'c');
salwa[i]='C';
else
salwa[i]=zouheir[i];
return 0;
char* zouheir;
char* salwa;
int rc;
int jh;
FILE* R;
FILE* L;
zouheir=(char*)malloc(20);
salwa=(char*)malloc(20);
printf("entrez la chaine de caractére dans le fichier de nom zouheir\n");
gets(zouheir);
L=fopen("zou.txt","w");
if(L==NULL) printf("erreur");
else fputs(zouheir,L);
printf("entrez la chaine de caractére dans le fichier de nom salwa\n");
gets(salwa);
R=fopen("sal.txt","w");
if(R==NULL) printf("erreur");
else fputs(salwa,R);
puts(zouheir);
puts(salwa);
fclose(R);
fclose(L);
rc = fseek(R,0,SEEK_SET);
jh=fseek(R,0,SEEK_SET);
return;
return 0;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je n'ai pas tout corrigé, mais ton programme devrait marcher.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int titi(const char zouheir[20], char salwa[20]) {
int i;
for(i=0;i<strlen(zouheir)+1;i++)
if( zouheir[i]== 'c')
salwa[i]='C';
else
salwa[i]=zouheir[i];
return 0;
}
int main(void)
{
char zouheir[20];
char salwa[20];
FILE* R;
FILE* L;
printf("entrez la chaine de caractére dans le fichier de nom zouheir\n");
gets(zouheir);
L=fopen("zou.txt","w");
if(L==NULL) printf("erreur");
else fputs(zouheir,L);
printf("entrez la chaine de caractére dans le fichier de nom salwa\n");
gets(salwa);
R=fopen("sal.txt","w");
if(R==NULL) printf("erreur");
else fputs(salwa,R);
puts(zouheir);
puts(salwa);
titi(zouheir,salwa);
puts(zouheir);
puts(salwa);
return 0;
}
Sur ma machine, ça marche :
Par ailleurs, je viens de me rendre compte que j'ai supprimé tes fclose(R) et fclose(L). N'oublie pas de les mettre ;-).
entrez la chaine de caractére dans le fichier de nom zouheir coucou entrez la chaine de caractére dans le fichier de nom salwa lol coucou lol coucou //zouheir CouCou //salwa, cela contient zouheir avec des C majuscule
Par ailleurs, je viens de me rendre compte que j'ai supprimé tes fclose(R) et fclose(L). N'oublie pas de les mettre ;-).
bon jai fait une essaye mé j ai pa arrivé de complété le programe
voila ce que jai fai
j ai pa travaillé avec la fonction
#include <stdio.h>
#include <stdlib.h>
int main()
{
char* zouheir;
char* salwa;
int rc;
int jh;
FILE* R;
FILE* L;
zouheir=(char*)malloc(20);
salwa=(char*)malloc(20);
printf("entrez la chaine de caractére dans le fichier de nom zouheir\n");
gets(zouheir);
L=fopen("zou.txt","w");
if(L==NULL) printf("erreur");
else fputs(zouheir,L);
printf("entrez la chaine de caractére dans le fichier de nom salwa\n");
gets(salwa);
R=fopen("sal.txt","w");
if(R==NULL) printf("erreur");
else fputs(salwa,R);
puts(zouheir);
puts(salwa);
fclose(R);
fclose(L);
rc = fseek(R,0,SEEK_SET);
jh=fseek(R,0,SEEK_SET);
strcpy(zouheir,salwa);
return;
return 0;
}