【发布时间】:2021-11-10 16:50:03
【问题描述】:
我试图沿着我的 char 数组(一个字符串)移动我的 char 指针,它不起作用,我不明白为什么。
我的 char 数组看起来像这样 "5,true,-12,..."
这是我的代码:
local_length = get_param_length(jump_next_param(param));
- local length 是参数的长度(不带逗号)
- param 是我要解析的字符串
以我给出的示例为例,在我写的行之前,local_length = 1(5 长度)。 在我写的那一行之后,local_length = 4(真实长度)。
但参数仍然指向 5,我希望它指向 t
这里是 jump_next_param() 的代码:
static char* jump_next_param(char *param){
uint32_t jump_length = get_param_length(param);
param += jump_length + 1;
return param;}
【问题讨论】:
-
需要更多上下文。
-
"param 仍然指向 5" 没有演示。发布minimal reproducible example
-
在 C 中,所有参数都通过复制值传递给函数。离开该功能后,将看不到任何内容。
-
在你的函数中使用
char **param并更新*param