snprintf在android中生成空字符串

时间:2016-01-19 05:42:47

标签: android c++ gcc

我使用snprintf生成格式化字符串:

char buf[256];
std::string format_str = getFormatStr(); // "the number is %d", not literal string
snprintf(buf, sizeof(buf), format_str.c_str(), 10);

getFormatStr()返回从xml文件(非文字字符串)读取的格式字符串,格式字符串为"the number is %d"。在一些Android手机上,我发现buf值为空.C ++编译器是gcc。

更新

  1. 我们测试了很多Android手机,发现它在大多数设备上都没问题, 但是在一个或两个设备上,结果字符串为空。
  2. 我们打印getFormatStr()的返回值,值是对的,是 “这个数字是%d”。

0 个答案:

没有答案