chris_mrs 2021-05-14 12:53 采纳率: 50%
浏览 92
已采纳

求解一道C++测试题

输入字符串如“#,#;#,#,#;”。例如:3;7,8;10,11; 这样按“;”分隔,分隔出的字符串再按“,”分隔。装入vector〈vector〈int〉〉中,并在List控件中显示所有排列组合,如下图所示! 函数的形参列表只有(const CString& str,vector〈vector〈int〉〉& vec)

  • 写回答

2条回答 默认 最新

  • qfl_sdu 2021-05-14 13:26
    关注

    代码如下:(如有帮助,请采纳,谢谢)

    //遇到ch即将字符串分割成小字符串
    void CXXDlg::SplitStr(CString pStr, CString ch,vector<CString>& vReturn)
    {
    	int nStartPos=0;
    	int nEndPos=0;
    	while((nEndPos = pStr.Find(ch,nStartPos))> 0)
    	{
    		vReturn.push_back(pStr.Mid(nStartPos,nEndPos - nStartPos));
    		nStartPos = nEndPos+1;
    	}
    	nEndPos=pStr.GetLength();
    	vReturn.push_back(pStr.Mid(nStartPos,nEndPos-nStartPos));
    }
    
    
        //示例:
    
    	CString str("a,b,c;22,23,23;haha,23");
    	
    	vector<vector<CString> > vv;
    	vector<CString> vtmp;
    	SplitStr(str,CString(";"),vtmp);
    	for (int i = 0; i < vtmp.size(); i++)
    	{
    		vector<CString> v;
    		SplitStr(vtmp.at(i),CString(","),v);
    		vv.push_back(v);
    	}
    

    如果想弄成一个函数,自己封装一下就可以了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Fluent udf 编写问题
  • ¥15 求合并两个字节流VB6代码
  • ¥15 Pyqt 如何正确的关掉Qthread,并且释放其中的锁?
  • ¥30 网站服务器通过node.js部署了一个项目!前端访问失败
  • ¥15 WPS访问权限不足怎么解决
  • ¥15 java幂等控制问题
  • ¥15 海湾GST-DJ-N500
  • ¥15 氧化掩蔽层与注入条件关系
  • ¥15 Django DRF 如何反序列化得到Python对象类型数据
  • ¥15 多数据源与Hystrix的冲突