如何循环指向字符的指针数组
How to loop array of pointers to characters
有什么方法可以循环字符指针数组吗?我能够获取 **args 中的项目数量,但如何获取其每个元素的数量以便我们可以打印其字符。正如我们所看到的,每个元素列维度都不同。那么在 C 中有什么方法可以循环这个吗?
int main()
{
char *argv_c1[3] = {"cat","f.txt",NULL};
char *argv_c2[2]={"sort",NULL};
char *argv_c3[2]={"uniq",NULL};
char *argv_c4[3]={"grep","day",NULL};
char *argv_c5[3]={"wc","-l",NULL};
char **args[]={argv_c1, argv_c2, argv_c3, argv_c4, argv_c5};
unsigned long int total = sizeof(args)/sizeof(args[0]);
printf("ld\n",total);
for(int i=0;i<total;i++)
{
//how to loop argv_c1, argv_c2 ... argv_c5 ?
}
return 0;
}
这将遍历 args[i]
:
的元素
for(int j=0; args[i][j]!=NULL; j++)
有什么方法可以循环字符指针数组吗?我能够获取 **args 中的项目数量,但如何获取其每个元素的数量以便我们可以打印其字符。正如我们所看到的,每个元素列维度都不同。那么在 C 中有什么方法可以循环这个吗?
int main()
{
char *argv_c1[3] = {"cat","f.txt",NULL};
char *argv_c2[2]={"sort",NULL};
char *argv_c3[2]={"uniq",NULL};
char *argv_c4[3]={"grep","day",NULL};
char *argv_c5[3]={"wc","-l",NULL};
char **args[]={argv_c1, argv_c2, argv_c3, argv_c4, argv_c5};
unsigned long int total = sizeof(args)/sizeof(args[0]);
printf("ld\n",total);
for(int i=0;i<total;i++)
{
//how to loop argv_c1, argv_c2 ... argv_c5 ?
}
return 0;
}
这将遍历 args[i]
:
for(int j=0; args[i][j]!=NULL; j++)