c++ - const char* str[] 中有多少个字符串?

标签 c++ arrays

const static char *g_szTestDataFiles[] = {
    ".\\TestData\\file1.txt",
    ".\\TestData\\file2.txt",
    ".\\TestData\\file3.txt",
    ".\\TestData\\file4.txt",
    ".\\TestData\\file5.txt",
    ".\\TestData\\file6.txt"    
};

有没有办法以编程方式确定那个东西中有多少个项目?我总是可以执行 #define NUM_DATA_FILES 6const int NUM_DATA_FILES=6 但有更好的方法吗?我不认为有,但这似乎太基本了,我想确保我没有忘记什么。 . .

最佳答案

const static char *g_szTestDataFiles[] = {
".\\TestData\\file1.txt",
".\\TestData\\file2.txt",
".\\TestData\\file3.txt",
".\\TestData\\file4.txt",
".\\TestData\\file5.txt",
".\\TestData\\file6.txt",
NULL

};

现在逐个迭代一个字符串,直到找到 NULL。

编辑: Glen 是对的,你应该在这里使用 std::vector 而不是 c 风格 *[]

关于c++ - const char* str[] 中有多少个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1694320/

相关文章:

c++ - 防止模板参数上的 ADL

c++ - 数组的 auto_ptr

python - 迭代地减去数组中的值

PHP函数返回0,不知道为什么

java - 搜索数组

java - 从一串数字中获取一个 int 数组

c++ - 无法使用 g++ 链接 Xerces-c 静态库

c++ - 动态分配的 C 风格字符串的字符数超过给定长度?

c++ - 如何创建 shared_ptr 的容器到抽象类

c++ - Qt子类化一个ui表单显示一个空白窗口