我正在尝试用几个双打和一个角色制作一个字符串。我知道我的代码在这里是错误的,但我认为它可以让我知道我想要做什么。
operand2 = A.pop(); //double
operand1 = A.pop(); //double
math = "-"; //char
result = "%f %s %f",operand1, math, operand2; //string
A.push(result);
我试过研究如何做到这一点。我不熟悉sprintf和sprintcat,但这是最好的方法吗?非常感谢您的任何意见!
答案 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());