c++ - C++ 在 char** 中获取 char* 的数量
问题描述
所以我有以下函数,它将 char* 输入按空格拆分,并将每个 char* 添加到最终返回的 char** 中。
char **split_input(char *input) {
char **command = (char **)malloc(8 * sizeof(char *));
const char *separator = " ";
char *parsed;
int index = 0;
parsed = strtok(input, separator);
while (parsed != NULL) {
command[index] = parsed;
index++;
parsed = strtok(NULL, separator);
}
command[index] = NULL;
return command;
}
我想知道是否有任何方法可以获得返回的 char** 包含的 char* 数量。
解决方案
我想知道是否有任何方法可以获得
char*
返回的数量char**
。
鉴于您显示的代码,只有一种方法 - 调用者必须迭代数组计数元素,直到它到达NULL
最后。
否则,调整函数以在数组指针旁边返回数组计数,或者作为可选的输出参数,或者使用 astd::pair<char**, int>
或struct { char**; int; }
作为返回值。
推荐阅读
- python - 在没有静态文件的heroku中部署python API
- angular - 如何在 Jest Angular 中为 GroupBy 函数编写测试用例
- android - 我可以将 ML Kit 的人脸检测用于没有自动对焦的设备吗?
- android - 如何在 Fragment 中使用 TestActivity 继承的 Activity?
- reactjs - 页面刷新后我必须再次登录。React-router-dom 身份验证问题
- cuda - PTX 中的变量“已降级”是什么意思?
- python - 使 Absolute XPath 对测试更加健壮
- azure - Azure IoT Central 中 IoT Edge 模块的可写属性
- python - 如何用其他值 django 模型覆盖默认值
- python - 如何在 python 3 中编译 pygame