从int转换为CString

时间:2015-03-20 05:13:23

标签: c++ object int c-strings

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] != '\0'; 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>

2 个答案:

答案 0 :(得分:0)

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

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

基本上将数字除以10得到它有多少位数。

然后,对于每个角色,您可以这样做:假设您希望角色为0,只需使用'0'。如果您希望字符为&#39; 1&#39;,请使用'0'+1,它将返回1

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

答案 1 :(得分:0)

除了纯粹的香草C ++之外,你不需要任何其他东西,只需使用std::to_string

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

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

取出C-string

ouputString.c_str()