2010-12-05 68 views
2

是否有一个标准C函数允许您使用格式说明符来构建字符串?使用格式说明符在C中创建一个字符串

现在我这样做:

char buffer[256]; 
char *name = "Fred"; 
strcpy(buffer, "Hello, "); 
strcat(buffer, name); 
strcat(buffer, ". How are you today?\n"); 

有没有一种方法来添加一个功能来缓冲消息?

事情是这样的:使用它的时候,因为sprintf的是不是一个安全功能,可以从buffer overflows遭受

makestr(buffer, "Hello, %s. How are you today?\n", name); 

回答

8

sprintf

要小心。

+1

我会upvote这个答案不是为了荒谬的争论,sprintf是不安全的。如果你知道自己在做什么,并且不知道自己在做什么的人可能应该使用BASIC而不是C,那么这非常安全: – paxdiablo 2010-12-05 08:44:21

1

sprintf对您有帮助吗?链接: sprintf

相关问题