MFC:获取编辑控件文本并将其拆分为二维数组?

MFC: Getting edit control text and splitting it to 2 dimensional array?

我在窗体上有编辑控件和屏蔽的编辑控件。在掩码控件中写入和失去焦点后,一个数字(最多 99),编辑框将填充邻接矩阵。稍后我想用它来表示图中的边和查找循环。我像这样从编辑框中提取文本:

CString x;
GetDlgItemText(IDC_EDIT, x);

失去焦点后编辑框中的数据如下所示:

0 0 0 0 0 
0 0 0 0 0 
0 0 0 0 0 
0 0 0 0 0 
0 0 0 0 0 

但是是否可以将所有数字(这里的分隔符是“”)拆分成二维数组,就像 C++ 向量一样?

您可以使用 stlistringstreamgetline 的组合)或选择更 MFC 的方法:

CString s;
// ...
int lpos = 0;
for (CString line = s.Tokenize(_T("\n"), lpos); lpos > 0; line = s.Tokenize(_T("\n"), lpos))
{
  int cpos = 0;
  for (CString cell = line.Tokenize(_T(" "), cpos); cpos > 0; cell = line.Tokenize(_T(" "), cpos))
  {
    // your cell processing 
  }
}