好的,我承认字符串操作在 C++ 方面从来都不是我的强项,尽管我在各种情况下仅通过使用 Boost 就取得了相当大的成功,但我仍然遇到一些问题。
所以,这就是我需要的(这个例子很精确)......
输入是:
position fen <arg_a1> <arg_a2> ... <arg_aN> moves <arg_b1> <arg_b2> ... <arg_bN>
(好吧,对于那些熟悉该主题的人来说,这是UCI协议的命令)
我想做的就是:
- 将
<arg_a1> <arg_a2> ... <arg_aN>
(包括空格)放入一个字符串(即和之间的字符串position
)moves
- 也
<arg_b1> <arg_b2> ... <arg_bN>
进入另一个字符串(即从moves
直到结束的字符串)。
我玩了很多,Boost::split
但显然这很像strtok
(接受字符而不是字符串分隔符)。
我该怎么做呢?解决这个特定问题的最简单方法是什么,而不需要我重新发明轮子(我倾向于这样做......经常......哈哈)?
提示:显然我可以做到。但我现在能想到的都是丑陋的。我正在寻找的是一种 C++ 友好的方式......