【发布时间】:2023-03-28 03:28:01
【问题描述】:
如果我只使用CStringArray 而不是CSortStringArray,问题是如何排列第一个数组 sortarray 的排列顺序是从(a 到 m)。但是如果我使用CSortStringArray 仍然是一样的。第二个数组 sortarray1 从 1.txt 到 15.txt 使用CStringArray 或CSortStringArray 的顺序总是错误的?
void CtestmfcDlg::OnBnClickedOk()
{
CSortStringArray sortArray;
sortArray.Add(CString("a"));
sortArray.Add(CString("b"));
sortArray.Add(CString("c"));
sortArray.Add(CString("d"));
sortArray.Add(CString("e"));
sortArray.Add(CString("f"));
sortArray.Add(CString("g"));
sortArray.Add(CString("h"));
sortArray.Add(CString("i"));
sortArray.Add(CString("j"));
sortArray.Add(CString("k"));
sortArray.Add(CString("l"));
sortArray.Add(CString("m"));
CSortStringArray sortArray1;
sortArray1.Add(CString("1.txt"));
sortArray1.Add(CString("2.txt"));
sortArray1.Add(CString("3.txt"));
sortArray1.Add(CString("4.txt"));
sortArray1.Add(CString("5.txt"));
sortArray1.Add(CString("6.txt"));
sortArray1.Add(CString("7.txt"));
sortArray1.Add(CString("8.txt"));
sortArray1.Add(CString("9.txt"));
sortArray1.Add(CString("10.txt"));
sortArray1.Add(CString("11.txt"));
sortArray1.Add(CString("12.txt"));
sortArray1.Add(CString("13.txt"));
sortArray1.Add(CString("14.txt"));
sortArray1.Add(CString("15.txt"));
for (int i = 0; i <= sortArray.GetUpperBound(); i++)
{
testbox1.AddString(sortArray[i]);
}
//sortArray.Sort();
for (int j = 0; j <= sortArray1.GetUpperBound(); j++)
{
testbox2.AddString(sortArray1[j]);
}
}
【问题讨论】:
-
你的第二个数组没有错排序。它比较的是字符串,而不是整数。
-
但是输出不对?
-
我在您的示例中看不到任何输出。怎么了 ?请提供更多详细信息。
-
第二个数组输出是 1,10,11,12,13,14,15,2,3,4,5,6,7,8,9 这就是问题所在。
-
这不是问题。正如我已经说过的,这是正确排序的。请参考我的第一条评论。
10.txt与2.txt相比 == '1'
标签: c++ visual-studio-2013 mfc