在字符串

时间:2017-08-04 07:03:09

标签: c++ casting

我正在尝试打印用户在我正在处理的程序中输入的日期。在这个非常简化的示例中,我试图在int变量中获取string变量的值。在这里,您可以看到我尝试了static_cast<char>(int)。 我也试过

  • myStr = num;
  • myStr = num + 0;
  • myStr = num + '0';

以及许多其他没有意义的东西只是为了看看编译器做了什么以及程序做了什么 - 如果我可以让它运行。

以下是我在这个缩短的例子中的几行:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    int num = 100;
    string myStr = static_cast<char>(num);
    cout << myStr;
    return 0;
}

在我的其他程序中,我试图将2017年(保存为int变量)插入包含剩余日期的字符串中。我只是遇到数字大于9的问题。

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

使用标准库函数std::to_string将您的数字转换为字符串形式。

答案 1 :(得分:1)

stringstream ss;
ss << num;  
cout << ss.str();

别忘了包含sstream

从C ++ 11标准开始,字符串到数字的转换(反之亦然)被内置到标准库中,您可以使用to_string方法。

答案 2 :(得分:0)

您可以使用 to_string 将int转换为String。

#include<String>
std::string int_string = std::to_string(num);

如果您使用旧版本的c ++,则可以使用标志-stdc ++ = 11或更高版本进行编译,例如

g++ filename.cpp -stdc++=11