将字符串和 int 添加到字符串中
adding a string and int to a string
可能的重复项:
将 int 附加到 std::string
我想在我的字符串中添加字符串和 int。
在我的位置数据::toString() 方法中,我试图将一堆东西一起添加到我的字符串 str 中。
它添加第一个输入,这是一个字符串sunType,并添加第二个输入,一个整数。编译没有问题,但是当我运行我的代码时,输出是
太阳类型: 太阳没有像地球一样的行星:
它应该是哪个
太阳类型:
像行星一样的地球数量:
那么我的代码有问题吗?我没有显示我的整个代码,因为它有点长。希望有人能回答我谢谢!
#include <iostream>
#include <string>
using namespace std;
class LocationData
{
private:
string sunType;
int noOfEarthLikePlanets;
int noOfEarthLikeMoons;
float aveParticulateDensity;
float avePlasmaDensity;
public:
string toString();
};
string LocationData::toString()
{
string str = "Sun Type: " + getSunType();
str += "nNo Of Earth Like Planets: " + getNoOfEarthLikePlanets();
//str += "nNo Of Earth Like Moons: " + getNoOfEarthLikeMoons();
//str += "nAve Particulate Density: " + getAveParticulateDensity();
//str += "nAve Plasma Density: " + getAvePlasmaDensity();
return str;
}
int main()
{
cout<<test.toString()<<endl;
}
您正在向字符指针添加一个整数,该整数将指针按所述数字前进。使用std::stringstream
执行此操作,而不是进行各种转换。像这样:
std::stringstream ss;
ss << "Sun Type: " << getSunType() << "nNo Of Earth Like Planets: "<<getNoOfEarthLikePlanets();
std::string s = ss.str();
使用 stringstream 的 MWE:
#include <sstream>
#include <iostream>
using namespace std;
int main(){
stringstream ss;
int i=40;
ss<<"Hi ";
ss<<i;
ss<<"bye";
cout<<ss.str()<<endl;
}
输出"嗨 40bye",如预期的那样。
另请参阅此问题。
相关文章:
- 如何将字符串添加到布谷鸟过滤器?
- 将常量字符串添加到非常量字符串是否会给出常量字符串
- 如何在C++中为字符串添加字符?
- 在特定位置为字符串添加空格
- 有没有办法将字符串添加到 Vector 中,但前提是它尚不存在?->C++
- 是什么使这个以'+'开头的字符串添加成为有效的语句?
- 如何使用函数将字符串添加到向量中
- 如何在 c++ 中将字符串添加到动态数组?
- 向字符串添加字符
- 向字符串添加位值
- 如何从用户那里接收多个字符串并将这些字符串添加到 c++ 中的数组中?
- 字符串添加数字 C++
- std::字符串添加到字符*
- C++ 向字符串添加"u"
- JSONCPP正在向字符串添加额外的双引号
- C 将N字符串添加到字符串流中
- 以简单且更少的代码方式将字符串添加在一起
- 字符串添加或减法操作员
- 将字符串添加到2D数组并显示COUT消息(没有错误消息?)的错误
- 如何使用递归向字符串添加逗号