私のプログラムはここにあります。関数にargvを渡すことができません
#include <stdio.h>
void help(const char *argv);
int main(int argc, const char *argv[]) {
const char *p;
int x;
for(x = 0; x < argc; x++) {
p = argv[x];
if(*p == '-') {
p++;
}
switch(*p) {
case 'h':
help(*argv);
return 0;
break;
}
}
return 0;
}
void help(const char *argv) {
fprintf(stderr, "Usage %s: [option]\n", argv[0]);
}
問題は、コンパイル処理中に私が得ることである
を入力しています警告:フォーマット '%sが' 'のchar *' と入力期待しますが、引数3は 「int型
ヘルプ機能でプログラム名を印刷する方法は?あなたは(char型へのポインタ別名)文字列の配列を渡しているので、char**
を使用して
help(argv);
と
void help(const char **argv) {
fprintf(stderr, "Usage %s: [option]\n", argv[0]);
}
でなければなりません
は* ARGV [] 'ではなく'するchar * argv'文字 'として引数を宣言するだけです。 – khachik