#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
}
}
私が得ているエラーは7行目です。「互換性のないポインター型から「strlen」の引数1を渡しています」と書かれています。関数に対して同じエラーが発生しstrcat
ます。また、両方の機能について「与えられたchar **
が期待された」とも書かれています。const char *
argv
最初の要素を除くすべての要素を新しい配列に入力しようとしています。試しargv = &argv[1]
てみましたが、うまくいきませんでした。
strlen()
関数とstrcat()
関数はchar
配列を取りませんか?