1
我需要将MFC CString对象的列表连接成一个CSV字符串。 .NET对此任务有String.Join
。有没有一种确定的方式在MFC/C++中做到这一点?CString连接方法?
我需要将MFC CString对象的列表连接成一个CSV字符串。 .NET对此任务有String.Join
。有没有一种确定的方式在MFC/C++中做到这一点?CString连接方法?
+
运算符被重载以允许字符串连接。我建议看看文档在MSDN:
Basic CString Operations有下面的例子:
CString s1 = _T("This "); // Cascading concatenation
s1 += _T("is a ");
CString s2 = _T("test");
CString message = s1 + _T("big ") + s2;
// Message contains "This is a big test".
如果你想串是用逗号分隔的,只是自己添加逗号。
遍历调用AppendFormat方法的CString对象列表。
// Initialize CStringList
CStringList cslist ;
cslist.AddTail("yaba") ;
cslist.AddTail("daba") ;
cslist.AddTail("doo" ) ;
// Join
CString csv ;
for (POSITION pos = cslist.GetHeadPosition() ; pos != NULL ;)
csv.AppendFormat(",%s" , cslist.GetNext(pos)) ;
csv.Delete(0) ; // remove leading comma
删除字符串的第一个字符必须是您可以执行的最昂贵的操作。切换逗号并删除最后一个字符。或者只是不要生成额外的逗号。 – jmucchiello 2009-12-17 18:07:15
只能从VS2005开始工作,而不是VS6。 – Nux 2012-12-13 12:39:49