J'ai copié un fichier HTML dans un tableau en utilisant le code suivant :
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 par la chaîne de caractères 'king' déjà définie. Par exemple
< code html>< !comment>< plus de code html>
à
<< code html>king< plus de code html>
J'utilise 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 après 'king' ont été effacés comme s'il ajoutait automatiquement un caractère de fin. Comment puis-je corriger cela pour 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'était pas ajouté. Est-ce la meilleure méthode ?