sprintf首末两个参数相同时出现的问题
有这样几行代码:
#include <string.h>
#include <stdio.h>
int main()
{
char buf[1024];
char a[64] = "/index.html";
sprintf(a,"/home/code%s",a);
memset(&buf,0,sizeof(buf));
sprintf( buf, "aa%s","cc");
sprintf( buf, "%sbbb", buf);
printf("%s\n %s",a,buf);
return 0;
}
sprintf(a,"%s/home/code",a);
#include <string.h>
#include <stdio.h>
int main() {
char buf[1024];
char a[64] = "/index.html";
memmove(a+10,a,12);
strncpy(a,"/home/code",10);
sprintf( buf, "aa%s","cc");
sprintf( buf, "%sbbb", buf);
printf("a==[%s]\nbuf==[%s]\n",a,buf);
return 0;
}
//a==[/home/code/index.html]
//buf==[aaccbbb]
//