例如: 定义字符串CString m_str1="123,789,654,339"; 把m_str1以“,”为分隔符分割成字符串数组CString m_str2[]={123,789,654,339}; 再把m_str2转换成:int num[]={123,789,654,339};
CString m_str1="123,789,654,339"; int count = m_str1.Replace(',', ' '); if(count<=0) { printf("No data"); return; } int* num = new int[count+1]; int pos = m_str1.Find(' '); int i = 0; while(pos != -1) { CString field = m_str1.Left(pos); num [i] = atoi(field.GetBuffer(0)); i++; m_str1 = m_str1.Right(m_str1.GetLength() - pos - 1); pos = m_str1.Find(' '); } // last node if(m_str1.GetLength()>0) { num [i] = atoi(m_str1.GetBuffer(0)); } // do something elase you want //... //... delete num ;
常感谢,高手啊,我查了好一会儿MSDN才看懂的,不过int* num = new int[count];这句好像有点小小的错误吧,应该是int* num = new int[count+1];