私のプログラムにはいくつかの引数があり、入力ファイルはリダイレクトされています。私は引数(argcとargvを使って)とファイル(cinを使って)を解析しています。ただし、リダイレクトされたファイルの名前を表示できません。たとえば、引数が入力リダイレクトファイル名C++
./procsim -r 2 -f 4 -j 3 -k 2 -l 1 < gcc.100k.trace
をare-と引数を解析するために私のコードがある -
for (int i = 1; i < argc; ++i)
{
if (argv[i][0] == '-')
{
if (!strcmp(argv[i], "-r"))
{
if (i < argc - 1)
{
pipeline_parameters[count++] = atoi(argv[i+1]);
R = atoi(argv[i+1]);
i = i+1;
}
}
else if (!strcmp(argv[i], "-f"))
{
if (i < argc - 1)
{
pipeline_parameters[count++] = atoi(argv[i+1]);
F = atoi(argv[i+1]);
i = i+1;
}
}
とファイルを解析するために、私は、CINを使用する - 私がしたい
string line;
while (getline(cin, line))
{
address_arr.push_back(line);
}
fieの名前を読んでください。これはgcc.100k.traceです。それ、どうやったら出来るの? P.P. - 私は引数を解析しようとしましたが、私はそれを見つけることができません!
編集: address_arrはintのベクトルです。 pipeline_parametersは、引数を格納するための長さがintの配列です。 Rおよびfは引数も格納するグローバル変数です。
ようこそstackoverflowへようこそ!あなたの例に欠落している情報があるので、[最小、完全、かつ検証可能な例](https://stackoverflow.com/help/mcve)を作成してください。たとえば、pipeline_parametersまたはaddress_arrは何ですか? – nikaza
内容が 'stdin'にリダイレクトされたファイルの名前を取得することはできません。 [別のSOの投稿へのこの回答](http://stackoverflow.com/a/42382373/434551)を見てください。あなたの質問に対する答えを見つけることができます。 –