如何在C中找到argv []的长度

前端之家收集整理的这篇文章主要介绍了如何在C中找到argv []的长度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int main(int argc,char *argv[]){
        int fir; //badly named loop variable
        char *input[] = calloc( strlen(argv),sizeof(char)); //initializing an array
        for( fir = 1; fir< strlen(argv); fir++){ //removing the first element of argv
            strcat(input,argv[fir]); // appending to input
            }

我得到的错误是第6行.它表示“strlen”的参数1从不兼容的指针类型传递,我得到与strcat函数相同的错误.
它还说给定一个char **,但是预期这两个函数都有一个const char *.我试图填充一个新数组,其中包含所有argv的元素,除了第一个.我试过argv =& argv [1],它没有工作.
strlen()和strcat()函数没有使用char数组吗?

解决方法

int main(int argc,char *argv[])

argv是一个指向char(即字符串数组)的数组.该数组的长度存储在argc参数中.

strlen用于检索必须为空终止的单个字符串的长度,否则行为未定义.

猜你在找的C&C++相关文章