c++ - 将字符串方程转换为 CStringarray - MFC

标签 c++ mfc equation

我是编码新手,所以我可能有点慢。

所以我有一个用户输入的方程式的 CString,我想将数字和运算符分开,以便它们在 CStringArray 中有自己的索引。

例如,这就是我的意思:

我有一个字符串

CString str = "123 + 32 / 2"

我想把字符串放到这个...

CStringArray arr = ['123', '+' , '32' , '/' , '2']

我该怎么做呢?

我正在考虑使用 for 循环,找到有空格的地方,然后“抓取”那里的数字或运算符,但我无法真正理解如何做到这一点。

最佳答案

您可以使用 CString 的 Tokenize() 方法来拆分您的字符串。查看 msdn 文档中的示例:https://msdn.microsoft.com/en-us/library/k4ftfkd2.aspx 这是您的问题的代码,它与您的数据示例中的代码相同。您必须将 resToken 添加到 CStringArray 才能填充它。

CStringArray arr;
CString m_StoreEx = _T("123 + 32 / 2");
int curPos = 0;
CString resToken= m_StoreEx.Tokenize(_T(" "),curPos);
while (resToken != _T(""))
{
   _tprintf_s(_T("Resulting token: %s\n"), resToken);
   arr.Add(resToken);
   resToken = m_StoreEx.Tokenize(_T(" "), curPos);
};

关于c++ - 将字符串方程转换为 CStringarray - MFC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31779223/

相关文章:

c++ - CMake:CMAKE_REQUIRED_LIBRARIES 中的库顺序,用于在配置时测试最小程序

javascript - 类似 numpy 的 Node 包

java - 将-6到38之间的所有奇数存储到一个数组中

python-2.7 - 在numpy中使用python数值求解器求解方程

python - 求解指数方程给出多个解

c++ - 将 Python 算法移植到 C++ - 不同的解决方案

c++ - 限制未定义行为引起的困惑?

mfc - CRichEditCtrl 限制文本

c++ - 覆盖 OnNcPaint() 会影响窗口客户区的绘制吗?

c++ - 如何从 std::string 获取可写的 C 缓冲区?