从 int 转换为 CString

Converting from int to CString

TestString::TestString(int num) 

这是一个转换构造函数,应该将整数转换为字符串。

例如,如果传入 123,则 TestString 对象应存储将由 c-string "123".

表示的字符串数据
class TestString //header file
{
   public:
   TestString (int num);
   //etc.

   private:
   int size;
   char* str;
};

TestString::TestString (int num) //.cpp file 
{
    char c = static_cast<char>(num);

    str = new char[size]; //missing size variable

    int i = 0;

    for (i; cstr[i] != '[=11=]'; i++) //missing cstr array
        str[i] = cstr[i];

    str[i] = cstr[i]; //to tack on null character
}

如您所知,我在定义中缺少 size 变量和 cstr 字符串。我不知道我是不是做错了,或者只是无法理解我被要求进行什么样的设置...

非常感谢任何指点或建议。

只允许图书馆:

#include <iostream>
#include <iomanip>
#include <cstring>
#include <cctype>

据我了解,您希望获得输出字符串所需的长度。我想没有 <cmath> 的唯一方法是使用 while 循环:

int len=0;
int num2=num;
do{
    num2=num2/10;
    len++;
} while (num2>0);

这基本上是将数字除以 10 以获得它的位数。

然后,对于每个字符,您可以这样做:假设您想要 0 的字符,只需使用 '0'。如果您想要“1”的字符,请使用 '0'+1,这将 return 1

如果您需要更多帮助(完整实施),请在下方发表评论,我会尽快与您联系。玩得开心!

除了纯香草 C++,您不需要任何其他东西,只需使用 std::to_string:

std::string ouputString = std::to_string(inputInteger);

现在你可以用 std::string::c_str:

拉出 C 弦

ouputString.c_str()