プロジェクトの割り当てを行っていて、私のコマンドフラグが働かないようです。オンラインでヘルプを探していましたが、この件についてはあまり見つけられません。私の先生は、これが何であるか、どうやって行うのか決して説明しなかったので、私はオンラインで見つかったものに基づいて行動しています。どんな解決策や説明も高く評価されます。私のC++プログラムで私のコマンドフラグを起動するのに苦労している
#include<fstream>
#include<iostream>
#include<vector>
#include<sstream>
using namespace std;
int main(int argc, char *argv[])
{
if(argc != 0)
{
for (int i = 0; i < argc; i++)
{
ifstream file1(argv[i]);
string arg1 = argv[i];
int counter = 0;
int counter2 = 0;
string longest, word;
char letter;
vector<string> arrayWord, numString;
vector<int> largestNum;
stringstream ss;
if(file1.is_open() == false)
{
cout << "File Not Found\n";
continue;
}
else if (arg1 == "c")
{
while (!file1.eof())
{
letter = file1.get();
if(letter != ' ')
{
word = word + letter;
letter = file1.get();
counter++;
}
else if (letter == ' ')
{
arrayWord[counter2] = word;
largestNum[counter2] = counter;
ss << largestNum[counter2];
numString[counter2] = ss.str();
counter2++;
word.clear();
}
}
longest = arrayWord[0];
for (int i = 0; i <= counter2; i++)
{
if (largestNum[counter2] < largestNum[counter2 + 1])
{
longest = arrayWord[counter2 + 1] + "(" + numString[counter2 + 1];
}
else if (largestNum[counter2] == largestNum[counter2 + 1])
{
longest = longest + "(" + (numString[counter2 + 1]) + ", " + arrayWord[counter2 + 1] + "(" + numString[counter2 + 1];
}
else
{
longest = arrayWord[counter2] + "(" + numString[counter2];
}
}
cout << longest << endl;
continue;
}
else
{
cout << "Program is running with an invalid command" << endl;
continue;
}
}
}
return 0;
}
*何のための解決策または説明... *何のため? – CroCo
私のコマンドフラグが機能しなくなり、誰かがなぜ動作していないのか説明できるようになることを願っています。 – HanKuSung
ようこそスタックオーバーフロー!問題の声明が単に「動作しない」場合は、ソリューションを提供することは困難です。実際の結果とどのように違うのか、そしてどのようなことが起こるのかをより完全に説明するために質問を編集してください。何が良い説明になるかについてのヒントについては、[ask]を参照してください。 –