C语言: How do I convert a string parameter from a command line into an array of individual characters?

标签 c character

这是我的代码的一部分:

int main(int argc, char*argv[])  
{
 //This section shows the statistic of the program
int a;

printf("The number of arguments is :%d \n", argc);

for(a=0; a<argc; a++)
{
        printf("argc %d is %s \n",a, argv[a]);
}

根据上面的代码,第二个命令行参数 argv[1] 将是一个 .txt 文件。

第三个命令行参数 argv[2] 将作为字符串输入,例如“monkey”。

我需要知道如何将第二个命令行参数“monkey”存储为单个字符的数组,因此它看起来像这样:

char key[6];
     key[0]= 'm';
     key[1]= 'o';
     key[2]= 'n';
     key[3]= 'k';
     key[4]= 'e';
     key[5]= 'y';

最佳答案

试试这个:

#include <stdio.h>
#include <string.h>


int main(int argc, char*argv[])
{
        //This section shows the statistic of the program
        int a;

        printf("The number of arguments is :%d \n", argc);

        for(a=0; a<argc; a++)
        {
                printf("argc %d is %s \n",a, argv[a]);
        }

        size_t len = strlen(argv[2]);

        int key[10];
        int i = 0;
        for(i = 0; i < len; i++)
        {
                key[i] = argv[2][i];
        }

        for (i = 0; i < len; i++)
        {
                printf("key[%d] = %c\n", i, key[i]);
        }
}

关于C语言: How do I convert a string parameter from a command line into an array of individual characters?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39803048/

相关文章:

c - 有一个符号链接(symbolic link)的dirent,我怎样才能得到链接目标的路径名?

无法弄清楚这个 "called object is not a function"C 时间错误

c - 在 C 中使用 VLFeat 时出现 "loading shared libraries"错误

c - 释放 C 中 static 关键字定义的动态分配的内存

c - 字符数组中包含空字符和排除空字符有什么区别?

html - 用于表示社交分享的这个角色的名字是什么?

javascript - 在 javascript 中使用 blob 写入时文件开头出现意外字符

关于 C 中 SIMD 的说明

java - CharsetDecoder 无法在 Linux 机器上工作

c - 跳过某些字符