可视化需要获得C++中CString数组的大小
visual need to get size for CString array in C++
我有一个在C++中接收CString SearchString[]
的方法
我想得到这个数组的大小,以便在循环中迭代,如果没有,那么有人能建议如何将这个数组转换为CStringArray
吗。
#include <string>
using namespace std;
void myFunction(HWND shwnd, CString SearchString[], BOOl Visible)
{
//how do i get the size of "SearchString" here;
// I do not know how much it is populated, there might be one, two or three strings
}
int main()
{
CString Header[12];
BOOL bVisible;
myFunction(shwnd,Header,bVisible);
return 0;
}
您可以使用函数模板来获取任何固定大小数组的大小:
template<size_t N >
void foo( CString (&SearchString)[N] )
{
// the length of the array is N
}
因此,您可以将您的函数作为模板:
template<size_t N >
void myFunction(HWND shwnd, CString (&SearchString)[N], BOOl Visible)
{
// the length of SearchString is N in here
}
然后这样称呼它:
int main()
{
CString Header[12];
BOOL bVisible; // you might need to initialize this
myFunction(shwnd, Header, bVisible);
}
如果你能给出一些代码,理解并给出答案会很有帮助。从你的问题中,我猜你有一个字符串数组,你想知道它的大小。你可以使用STL向量,在那里你可以使用字符串数据类型,并且可以很容易地找到向量的大小。我给出了一个可以帮助你的示例代码。
#include <iostream>
#include <vector>
#include <string>
using namespace std;
void myfunction(vector<string>& searchstring)
{
int a=searchstring.size();
cout<<a;
}
int main()
{
vector<string>searchstring;
searchstring.push_back("hi");
searchstring.push_back("hello");
searchstring.push_back("man");
searchstring.push_back("man");
myfunction(searchstring);
searchstring.clear();
return 0;
}
这里向量的大小是4。
为什么不能更改函数的签名?
那么你可以使用CStringArray
或vector<CString>
,它们会立即变得更容易使用吗?
void myFunction(HWND hwnd, CStringArray stringArray, BOOL Visible)
{
for(int nIndex = 0; nIndex < stringArray.GetSize(); nIndex++)
{
CString tempString(stringArray.GetAt(nIndex));
// do something with string
}
}
引用链接,使用名为GetLength的函数获取Cstring对象的长度。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 如何将 CString 转换为字节 [] 数组?
- 循环以使用 cstring 数组 c++ 获取用户输入
- 使用指针 c++ 反转函数中的 cstring 数组
- 使用 cstring 将字符串转换为字符数组
- CString 数组排序
- 将 ATL CString 转换为字符数组
- CString -> 内存泄漏数组?
- 如何将 CString 转换为 UCHAR 数组
- 可视化需要获得C++中CString数组的大小
- 使用cstring数组有问题
- 转换从CString数组到整数数组在MFC
- cstring和指针:试图删除字符数组时堆损坏
- c++对cstring数组中特殊字符的测试