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>
答案 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()