J'ai copié un fichier HTML dans un tableau en utilisant le code suivant:Programmation C: Remplacer une chaîne interne en utilisant strcpy?
fseek(board, 0, SEEK_END);
long int size = ftell(board);
rewind(board);
char *sourcecode = calloc(size+1, sizeof(char));
fread(sourcecode, 1, size, board);
Maintenant, mon objectif est de remplacer un certain commentaire dans le tableau de la chaîne ombles déjà défini « roi ». Par exemple. !
< code html> < commentaire> < plus de code html>
à
< code html> king < plus code html>
Im en utilisant le code suivant:
find_pointer = strstr(sourcecode, text2find);
strcpy(find_pointer, king);
printf("%s", sourcecode);
où text2find = "<! Comment>";
Cependant, lorsque j'imprime, il est évident que tous mes caractères passés 'king' ont été effacés .. comme si elle ajoutait automatiquement un caractère de fin. Comment puis-je résoudre ce problème afin que le code html reste en place?
EDIT ::::: J'ai utilisé strncpy et défini un nombre de caractères tel que le caractère de fin n'a pas été ajouté. Est-ce la meilleure méthode?
merci. Je pensais que –
ne devrait pas être 'find_pointer + strlen (text2find)'? – Dave