相当于sprintf()的函数是否有要复制的最大字符数?

时间:2010-04-23 23:59:46

标签: c++ c

function(char* name)
{       
   char sql[50];
   sprintf(sql, "select %s;", name);
}

什么是确保只有50个字符的名称被复制到sql的最佳方法是什么名称大于sql可以容纳的? (带有N参数的sprintf?)

谢谢。

4 个答案:

答案 0 :(得分:6)

snprintf,它还带有一个尺寸参数:

int snprintf(char *str, size_t size, const char *format, ...);

答案 1 :(得分:1)

snprintf,但如果您打印N个字符,则它不会终止。

答案 2 :(得分:1)

大多数编译器都有snprintf()函数。

答案 3 :(得分:1)

你想要snprintf()。

int snprintf(char *str, size_t size, const char *format, ...);