argv[0]
からどうやって読むことができますか?私はNetBeansを使用しています。たびに、私はstdinで入力する必要があります。 argv
を使用すると、プログラムは自分の入力なしで実行されます。argv [0]から読む
は、ここに私のコードです:
int main(int argc,char *argv[])
{
char *text;
int textLen,repNum;
text = stream2string(stdin,&textLen);
//....text = argv[0] doesnt work :(
UPDATE:
私はコンパイルして実行すると、私は例の文字列を入力する必要があります!文字列は常に同じです:ABAABAABBBA
。だから私はstdinではなく最初の引数を取る。しかし、argv[1]
も機能しません。ここで
はstream2string()
です:
char *stream2string (FILE *fptr, int *n)
{
static char *s;
*n = 0;
ALLOC(s,char,2);
s[*n] = getc(fptr);
while(s[*n]!=EOF && s[*n]!='\0' && s[*n]!='\n') {
REALLOC(s,char,++*n+2);
s[*n] = getc(fptr);
}
s[*n] = '\0';
return(s);
} /* stream2string() */
私はtextLen
を設定することも重要だと思います。
あなたの質問が何であるか、またはあなたが達成しようとしていることが明確でない場合は、問題を示す完全なサンプルプログラムで明確にできますか? –
引数を取ったときのargcの値は? argv [0]は実行ファイルの名前を保持する必要があります。最初の引数はargv [1]にあるはずです。 – Zed