有没有一种简单而优雅的方法来从索引中拆分数组?
在我的程序中,我得到了一个字符串数组(argv),我想忽略程序名和它的一些参数,将其余的复制到一个数组中。
例如,argv的内容为{"program_name", "-o", "file1", "file2"}
我想在一个数组中检索"file1"和"file2",以便对其进行简单的迭代。
// PSEUDO
char *files[argc - 2] = argv.split(2, argc - 2)有什么想法吗?
发布于 2020-10-12 02:26:55
您可以使用指针算法以一种优雅的方式实现它:
char** filenames = argv + 2;只要确保你的文件名之前至少有2个参数就行了。
#include <stdio.h>
int main(int argc, char** argv) {
if(argc > 2){
//char** that points to the first filename
char** filenames = argv + 2;
//number of filenames available to iterate
int num_of_filenames = argc - 2;
//Printing each name
int i = 0;
for(i = 0; i < num_of_filenames; i++){
printf("%s\n",filenames[i]);
}
}
return 0;
}https://stackoverflow.com/questions/64307490
复制相似问题