c++ - 如何取字符串的反转

标签 c++ c string

<分区>

我有字符串

 string s1="5 2 13 * +" //as prefix expression.

我想像这样获得上述矩阵的反转。

"+ * 13 2 5"

我已经尝试过 stringstream 但它生成了 "+ * 31 2 5" 而我丢失了我的 "13" 而我得到了 "31"。这不好我的计算。

我该怎么办?感谢您的帮助。

最佳答案

假设你要反转的是在str中,值之间的分隔符是空白字符:

stringstream ss(str);
string answer, current;
answer.clear();
while (ss >> current) answer = current + " " + answer;
answer.erase(answer.size()-1, 1);     // eliminate space in the end of answer

关于c++ - 如何取字符串的反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20275040/

相关文章:

java - 在android中的sqlite3中创建自定义函数

python - 将列表形式的字符串转换为整数列表

c++ - 使用 WIN32 读取文本文件

c++ - 从 fstream 读取十六进制值到 int

c - libusb_set_interface_alt_setting () 有什么作用?

java - 如何使用 .equals() 方法比较两个 StringBuffer 对象?

java - java.lang.ArrayIndexOutOfBoundsException 的原因

c++ - 用于树莓派的 C 语言 GPIO 编程

c++ - Boost/Python 有 make_array 方法吗?

c++ - 使用 Bluez 的 C/C++ BLE 读/写示例