const static char *g_szTestDataFiles[] = {
".\\TestData\\file1.txt",
".\\TestData\\file2.txt",
".\\TestData\\file3.txt",
".\\TestData\\file4.txt",
".\\TestData\\file5.txt",
".\\TestData\\file6.txt"
};
Run Code Online (Sandbox Code Playgroud)
有没有办法以编程方式确定该项目中有多少项?我可以随时做#define NUM_DATA_FILES 6,const int NUM_DATA_FILES=6但有更好的方法吗?我不认为有,但这似乎太基本了,我想确保我不会忘记一些事情...
Ark*_*nez 11
const static char *g_szTestDataFiles[] = {
".\\TestData\\file1.txt",
".\\TestData\\file2.txt",
".\\TestData\\file3.txt",
".\\TestData\\file4.txt",
".\\TestData\\file5.txt",
".\\TestData\\file6.txt",
NULL
Run Code Online (Sandbox Code Playgroud)
};
现在迭代一个字符串,直到找到NULL.
编辑:格伦是正确的,你应该在这里使用std :: vector而不是c style*[]
您可以使用:
sizeof(g_szTestDataFiles) / sizeof(g_szTestDataFiles[0])
Run Code Online (Sandbox Code Playgroud)
请注意,此方法仅g_szTestDataFiles在数组而非指针时才有效.
Arkaitz给了你处理这个的首选方法,但是当我们在这里谈论一个const char*数组时,你应该能够做到以下几点:
int size = sizeof(g_szTestDataFiles) / sizeof(g_szTestDataFiles[0]);
Run Code Online (Sandbox Code Playgroud)