首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C-如何将字符串数组的一部分复制到另一数组中?

C-如何将字符串数组的一部分复制到另一数组中?
EN

Stack Overflow用户
提问于 2020-10-12 02:15:40
回答 1查看 77关注 0票数 0

有没有一种简单而优雅的方法来从索引中拆分数组?

在我的程序中,我得到了一个字符串数组(argv),我想忽略程序名和它的一些参数,将其余的复制到一个数组中。

例如,argv的内容为{"program_name", "-o", "file1", "file2"}

我想在一个数组中检索"file1""file2",以便对其进行简单的迭代。

代码语言:javascript
运行
复制
 // PSEUDO
 char *files[argc - 2] = argv.split(2, argc - 2)

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-12 02:26:55

您可以使用指针算法以一种优雅的方式实现它:

代码语言:javascript
运行
复制
char** filenames = argv + 2;

只要确保你的文件名之前至少有2个参数就行了。

代码语言:javascript
运行
复制
#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;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64307490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档