sprintf函数无法检查目的缓冲区是否溢出,相反,snprintf函数要求第二个参数指定目的缓冲区的大小,因此可以确保该缓冲区不溢出。
char buff[20];
memset(buff, 0, 20);
char *szTemp = "Hello World";
snprintf(buff, sizeof(buff), "%s", szTemp);
sprintf函数无法检查目的缓冲区是否溢出,相反,snprintf函数要求第二个参数指定目的缓冲区的大小,因此可以确保该缓冲区不溢出。
char buff[20];
memset(buff, 0, 20);
char *szTemp = "Hello World";
snprintf(buff, sizeof(buff), "%s", szTemp);