【问题标题】:Conversion to string if input may be a string with spaces and line breaks如果输入可能是带有空格和换行符的字符串,则转换为字符串
【发布时间】:2022-11-02 17:22:49
【问题描述】:

我正在尝试将算术类型或字符或字符串(包括空格和/或换行符)的任何输入转换为字符串。

我尝试使用适用于除字符串以外的任何输入的 to_string。

然后我尝试了

void dataToString() {
    std::stringstream ss;
    ss << cryptedData;
    ss >> dataString;
}

它甚至适用于作为输入的字符串,但只会将字符串带到第一个空格。如何更改它以存储整个字符串,但也适用于上述任何输入类型。

请注意,我不能使用条件来为不同类型运行不同的代码,因为这是在类的构造函数中完成的,因此如果任何可能的输入通过任何循环运行,它将不会编译。

【问题讨论】:

    标签: c++ string constructor type-conversion stringstream


    【解决方案1】:

    要将流的内容作为字符串获取,您可以简单地使用the str member function

    std::string dataToString()
    {
        std::ostringstream ss;
        ss << cryptedData;
        dataString = std::move(ss).str();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-05
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多