int fCount = 0;
char frameNum[7];
sprintf(frameNum, %06u", fCount);


int fCount = 0;
char frameNum[6];
sprintf(frameNum, %06u", fCount);


Q1。正确的是6还是7?

Q2。我正在使用VC6,文件为sample.cpp。
  我认为sprintf是C。还有更好的方法吗?
  我需要右对齐的char字符串并填充零。

请不要告诉我使用较新的编译器。我现在需要使用VC6。

最佳答案

第一个是正确的。顺便说一句,没有内存泄漏。

-


  我认为sprintf是C。还有更好的方法吗?


是。 C ++方式:

std::stringstream ss;  //#include <sstream>
ss << fCount;
std::string frameNum = ss.str();

关于c++ - 字符串长度和内存泄漏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7366043/

10-11 04:36