2 réponses
tafiscobar
Messages postés
1277
Date d'inscription
jeudi 7 décembre 2000
Statut
Contributeur
Dernière intervention
26 février 2009
177
7 déc. 2003 à 14:02
7 déc. 2003 à 14:02
je suppose que s est le prefixe et q donc s a la taille strlen(t) + strlen(s);
ce que t'as fait la, tu ecrases t, en fait t'as fait el contraire de ta premiere boucle en ecrasant t par s, et puis ton t--, il risque de toucher a quelque chose qu'il ne lui appartient pas, bon voila ce que je propose:
strcat (s,t); //concatene s et t et mets le resultat ds s
ou bien si tu v faire "pro" (recreer la roue):
char * prefixe (char *s, char *t) {
char *tmp = s; //en tout cas je suppose q s peut contenir t
while (*tmp != '\0') tmp++; //la il s'arrete a *tmp =='\0'
while (*t != '\0') {
[tab]*tmp =*t;
[tab]tmp++,t++;
}
*tmp = '\0';
return s;
}
tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
ce que t'as fait la, tu ecrases t, en fait t'as fait el contraire de ta premiere boucle en ecrasant t par s, et puis ton t--, il risque de toucher a quelque chose qu'il ne lui appartient pas, bon voila ce que je propose:
strcat (s,t); //concatene s et t et mets le resultat ds s
ou bien si tu v faire "pro" (recreer la roue):
char * prefixe (char *s, char *t) {
char *tmp = s; //en tout cas je suppose q s peut contenir t
while (*tmp != '\0') tmp++; //la il s'arrete a *tmp =='\0'
while (*t != '\0') {
[tab]*tmp =*t;
[tab]tmp++,t++;
}
*tmp = '\0';
return s;
}
tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
merci, mais c t ca que je voulais faire:
prepend(char s,char t) renvoie
ts et pas st
donc j'ai corrige ce que tu m'as donne, merci tu m'as depatouiller
pour ce qui aurai des ^futurs problemes
merci et tchao!
prepend(char s,char t) renvoie
ts et pas st
donc j'ai corrige ce que tu m'as donne, merci tu m'as depatouiller
#include <stdlib.h> #include <stdio.h> #include <string.h> char* prepend(char *s, char *t){ char *tmp=t; while (*tmp!='\0') { tmp++; } while (*s!='\0') { *tmp=*s; tmp++; s++; } return t; } int main(int argc,char *argv[]) { char *t1=(char*)malloc(1024); t1=prepend(argv[1],argv[2]); printf("%s\n",t1); system("PAUSE"); return 0; }
pour ce qui aurai des ^futurs problemes
merci et tchao!