1 #include <iostream> 2 #include <string> 3 #include <afx.h> 4 #include <vector> 5 6 using std::vector; 7 using std::cout; 8 using std::endl; 9 10 int main() 11 { 12 CString strText =""; 13 int testArray[] ={1,2,3,4,5,6}; 14 vector<int> vecNum(testArray,testArray+6); //vector --可以指定数据类型的容器,通常用于未确定大小的数组中 15 cout<<vecNum.size()<<endl; // 输出6 16 for (int i = 0; i < vecNum.size(); i++) 17 { 18 cout << vecNum[i] <<endl; //输出:1、2、3、4、5、6 19 20 // 将CString类型赋值 21 // _T("%d") 是c++中一个类似解析模板的东西, %d 代表 int 类型, long 类型就要换成 %ld 22 strText.Format(_T("%d"), vecNum[i]); 23 24 //输出:1、2、3、4、5、6 25 cout << strText<<endl; 26 } 27 cout<<vecNum.size()<<endl; // 输出6 28 return 0;
29 30 31 }
上述代码中:
cout << strText<<endl;
出现问题了,理论上也应该输出:1、2、3、4、5、6
但是输出的是一个类似 004D9540 的数值,这个数字是随时变得,但是6次输出都是一模一样
问了下公司的C++,有位说是内存地址,但是网上找了一些方法都不能进行解析。
如果哪位大佬知道,私信留言都可以。