我已使用以下代码将 HTML 文件复制到数组中:
fseek(board, 0, SEEK_END);
long int size = ftell(board);
rewind(board);
char *sourcecode = calloc(size+1, sizeof(char));
fread(sourcecode, 1, size, board);
现在我的目标是用已经定义的字符字符串'king'替换数组中的某个注释。例如
<html代码><!comment><更多html代码>
到
<html代码>王<更多html代码>
我使用以下代码:
find_pointer = strstr(sourcecode, text2find);
strcpy(find_pointer, king);
printf("%s", sourcecode);
其中 text2find = "<!comment>";
但是,当我打印时,很明显,我在“国王”之后的所有字符都已被删除……好像它自动添加了一个终止字符。我该如何解决这个问题,以便 <更多 html 代码> 保持原位?
编辑::::: 我使用了 strncpy 并设置了许多字符,以便不添加终止字符。这是最好的方法吗?