Unix コマンド ラインでは、入力リダイレクトを使用して入力ファイルを指定する必要があります。
./a.out < filename
ここに私のソースコードがあります:
int main(int argc, char *argv[]) {
char fileName[30];
fgets(fileName, sizeof fileName, stdin);
printf("%s\n", fileName);
}
プログラムは、ファイル名の代わりに整数を出力します。を使用しても同じ結果が得られますscanf("%s", fileName);
私のgoogle-fuは失敗しました。私は何を間違っていますか?
編集:入力リダイレクト(<
具体的には)を使用する必要があるため、コマンドライン引数はオプションではありません。ただし、実際にファイル名を知る必要はありません。ファイルから改行で区切られた整数を読み取るだけで済みます。私は間違った質問をしているようです。