从多个双精度和char C ++创建一个字符串

时间:2014-01-28 23:06:43

标签: c++

我正在尝试用几个双打和一个角色制作一个字符串。我知道我的代码在这里是错误的,但我认为它可以让我知道我想要做什么。

operand2 = A.pop();     //double
operand1 = A.pop();     //double
math = "-";             //char
result = "%f %s %f",operand1, math, operand2;     //string
A.push(result);

我试过研究如何做到这一点。我不熟悉sprintf和sprintcat,但这是最好的方法吗?非常感谢您的任何意见!

2 个答案:

答案 0 :(得分:1)

double operand2 = A.pop();
double operand1 = A.pop();
char math = '-';
std::ostringstream oss;
oss << operand1 << ' ' << math << ' ' << operand2;
std::string result = oss.str();
...

答案 1 :(得分:0)

尝试使用此尺寸。

你可以是特定的并且使用std :: ostringstream等。但由于懒惰,这个例子使用了std :: stringstream。

#include <iostream>
#include <sstream>

// ...

double operand2 = A.pop();
double operand1 = A.pop();

std::stringstream stream;
stream << operand1 << " - " << operand2;
A.push(stream.str());