c++数组CStringArray的用法

菜鸟的想法就是给ayr的数组初始化,0,1,2三个字符,下面是我写的,不过怎么写都不对,请c++的大侠们教教我,到底怎么写的,谢谢了
#include<iostream>
#include <afxcoll.h>
using namespace std;
void main()
{
CStringArray ayr;
ayr[3]={"0","1","2"};
}
还有头文件是不是#include <afxcoll.h>,谢谢
最新回答
天边シ深海

2025-06-21 15:26:02

CStringArray是MFC的类,不能这样直接用的,建议用string和vector来做
vector<string> arr = {"0", "1", "2"};
文件前面加上
#include <string>
#include <vector>

你的代码也有一些问题
ayr[3]={"0","1","2"};是给ayr的第三个元素赋值,不是给整个数组赋值
追问
如果在mfc中又该怎么初始化啊,如何给整个数组ayr赋值,求指点
浪居酒家

2025-06-21 12:42:22

  CStringArray的成员函数类似于CObArray类的成员函数。
  CStringArray类支持CString对象数组。由于具有这些相似性,你可以参考关于CObArray的参考文件来获取CStringArray成员函数的详细说明。如果在说明中看到某一函数的返回值是一个指向CObject对象的指针,则可以用一个CString(而不是一个CString指针)来代替它。如果看到某一函数的参数是一个指向CObject的指针,则可以用LPCTSTR来代替它。
  例如,可以将
  CObject* CObArray::GetAt( int <nIndex> ) const;
  转换为
  CString CStringArray::GetAt( int <nIndex> ) const;
  和将
  void SetAt( int <nIndex>, CObject* <newElement> )
  转换为
  void SetAt( int <nIndex>, LPCTSTR <newElement> );
  CStringArray与IMPLEMENT_SERIAL宏联合起来支持其元素的连续和转储。如果一个CString对象数组被用一个重载的插入操作符或Serialize成员函数保存到一个存档中,则它的每一个元素都按顺序连续。