如何将const char *路径传递给fts_open?我想通过一个filePath。如何将const char *指针传递给fts_open()
回答
我假设您想知道如何将此单一路径传递给参数fts_open
的argv
(类型char const **
)。该参数如此描述:
的argv
是字符指针命名一个或多个路径组成文件层次结构的一个NULL终止的阵列。
因此,您需要创建一个长度为2的数组,其元素类型为char*
。把你的路径放在第一个元素中,并在第二个元素中放置NULL。就像这样:
char const *argv[] = { path, NULL };
您现在可以通过argv
到fts_open
。
不过,fts_open只需要'char * const *'而不是'const char * const *': -/ – 2012-03-28 20:55:20
您可以将非const指针传递给接受const指针的函数。在const正确性中,函数签名告诉你函数不会修改参数指向的数据。在这种情况下,'fts_open'不会修改'argv'的内容,或者它的元素指向的值。 – tomlogic 2012-03-28 21:00:50
但我原来的版本有点sl。。我已经添加了适当的'const'限定符。也就是说,我怀疑'const'的存在使得Helium3更难理解双重间接。为了便于说明,有时一次只关注一个问题可能会更好。 – 2012-03-28 21:02:11
fts_open()
的第一个参数是“一个由NULL结尾的字符指针数组,指定构成文件层次结构的一个或多个路径。”
所以,你可以通过这样的:
char *pathlist[2];
pathlist[0] = filePath;
pathlist[1] = NULL;
fts_open(pathlist, ...);
- 1. 将const char **传递给函数 - 如何构建char **?
- 2. 如何将指针和指针传递给函数?
- 3. 将指针传递给指针
- 4. 如何将字符串的向量传递给foo(char const * const * const)?
- 5. 将指针传递给glGenBuffers
- 6. 如何将char *从char **传递到const char *
- 7. 将const指针的容器传递给参数
- 8. 与指针为const char []
- 9. const char指针修改
- 10. ANSI C - 将函数中的数据传递给CHAR指针
- 11. 将char数组的指针传递给函数
- 12. 将参数传递给函数指针
- 13. 将指针传递给成员函数
- 14. 将指针传递给函数损坏指针
- 15. 如何将char * argv []传递给pthread_create?
- 16. 传递指向C++中另一个指针的'const'指针
- 17. 如何将const char连接到const char?
- 18. 如何将字符指针传递给函数
- 19. 如何从DLL传递对象指针并传递给DLL?
- 20. 如何将pid转换为C++中的const char指针?
- 21. 将NSArray指针传递给指定类型的指针
- 22. 将指南针点传递给PHP
- 23. 将全局指针传递给函数
- 24. 将指针传递给某个函数
- 25. 将指针传递给函数?
- 26. 将NSTextField指针传递给IOUSBInterfaceInterface182回调
- 27. 将对象指针传递给函数
- 28. 将void指针传递给LLVM IRBuilder CreateCall
- 29. 将C++双指针传递给python
- 30. 无法将指针传递给函数
我觉得这线程都有一个很好的例子作为公认的答案http://stackoverflow.com/questions/983376/recursive-folder-scanning-in -c – Mikhail 2012-03-28 20:48:54