T.T*_*.T. 4 c arrays pointers reference
即 -
int function(char* txt)
{
sprintf(txt, "select * from %s;", table);
//How do I set last char in buffer to NULL here?
}
Run Code Online (Sandbox Code Playgroud)
所以,如果表中的文字有些是500个字符长,而主要的txt只被定义为100 ....
谢谢.
Jam*_*lis 11
你需要
snprintf()而不是sprintf()snprintf()以查看保存所有格式化数据所需的缓冲区大小; 如果这大于或等于缓冲区的大小,你应该按照你认为合适的方式处理(缓冲区仍然是空终止的,但内容将被截断以适应;这是否正常或错误完全取决于在你的用例上)(并且您的函数需要返回类型...)