Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ char sprintf()句柄的限制_C++_C_Linux - Fatal编程技术网

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
?如何定义FPS
FPS
?可能是缓冲区溢出导致应用程序崩溃。我不确定FPS的定义是什么意思。。你的意思是我什么时候调用函数来计算它,还是整个函数都要计算它?
%d
用于打印整数,而不是字符串。使用
%s
打印字符串。您是否尝试过
snprintf
?如何定义FPS
FPS
?可能是缓冲区溢出导致应用程序崩溃。我不确定FPS的定义是什么意思。。你的意思是我什么时候调用函数来计算它,还是整个函数都要计算它?
%d
用于打印整数,而不是字符串。使用
%s
打印字符串。