C++ char sprintf()句柄的限制
我有两个节目。。一个是要学习,另一个是要切除它。。我有一个计算每秒游戏帧数的函数 在其中一个上:C++ char sprintf()句柄的限制,c++,c,linux,C++,C,Linux,我有两个节目。。一个是要学习,另一个是要切除它。。我有一个计算每秒游戏帧数的函数 在其中一个上:sprintf(FPS,“不朽冲突:FPS:%d”,misc.FPS) 另一个没问题 sprintf(FPS,“不朽形态%d”,杂项FPS) 当我在第二个函数数据中输入更多字符时。。堆栈中包含字符或其他内容,因为数字的长度大约为8位,并且不会改变 它写得像不朽的冲突:FPS:8454390345 *我注意到当我把它从原来的地方换下来。。它疯了…哈哈 char-FPS[2] 哦,它与FPS[20]=O一
sprintf(FPS,“不朽冲突:FPS:%d”,misc.FPS)代码>
另一个没问题
sprintf(FPS,“不朽形态%d”,杂项FPS)代码>
当我在第二个函数数据中输入更多字符时。。堆栈中包含字符或其他内容,因为数字的长度大约为8位,并且不会改变
它写得像不朽的冲突:FPS:8454390345
*我注意到当我把它从原来的地方换下来。。它疯了…哈哈
char-FPS[2]
哦,它与FPS[20]=O一起工作我对数组和字符一无所知。。事实上我学到了一些东西。。lol我发现了我的问题lol缓冲区溢出,因为FPS
只能容纳两个字符。它需要足够大以容纳生成的字符串
这是C++建议使用<代码> STD::OSTRIGSWORK
构造字符串:
#include <sstream>
std::ostringstream FPS;
FPS << "Immortal Conflicts: FPS: " << misc.FPS; // FPS.str() will return a
// std::string of the data.
#包括
标准:ostringstream FPS;
FPS存在缓冲区溢出,因为FPS
只能容纳两个字符。它需要足够大以容纳生成的字符串
这是C++建议使用<代码> STD::OSTRIGSWORK
构造字符串:
#include <sstream>
std::ostringstream FPS;
FPS << "Immortal Conflicts: FPS: " << misc.FPS; // FPS.str() will return a
// std::string of the data.
#包括
标准:ostringstream FPS;
FPS您是否尝试过snprintf
?如何定义FPSFPS
?可能是缓冲区溢出导致应用程序崩溃。我不确定FPS的定义是什么意思。。你的意思是我什么时候调用函数来计算它,还是整个函数都要计算它?%d
用于打印整数,而不是字符串。使用%s
打印字符串。您是否尝试过snprintf
?如何定义FPSFPS
?可能是缓冲区溢出导致应用程序崩溃。我不确定FPS的定义是什么意思。。你的意思是我什么时候调用函数来计算它,还是整个函数都要计算它?%d
用于打印整数,而不是字符串。使用%s
打印字符串。