Вырезать векторную строку в определенном месте из аргументов - PullRequest
0 голосов
/ 29 сентября 2019

мы только начали с с ++, и я застрял в задаче домашнего задания. Надеюсь, что кто-то может оказать мне конкретную помощь здесь ..

Следующая ситуация: мы анализируем значения через аргументы нашей программы, и определение первого параметра "argv [0]" содержит имя программы, как и все остальные. знает. Но мне просто нужно "printParametersToFile.exe" из argv [0] (C: \ Users \ Alex \ Documents \ visualstudio-workspace \ OOP \ OOP19_01 \ Debug \ printParametersToFile.exe) ... Здесьмоя текущая попытка:

int main(int argc, char *argv[]) {
std::vector<std::string> myArray; 
std::vector<std::string>::iterator it;
std::string searchKey = ".exe";
std::string programmName;

// populate the Array
for (int i = 0; i < argc; ++i) 
    myArray.push_back(argv[i]);

for (int i = 0; i < argc; ++i)
{
    if (i == 0)
    {       
        ///z.B.: C:\Users\Alex\Documents\visualstudio-workspace\OOP\OOP19_01\Debug\printParametersToFile.exe
        std::cout << "Arguments = " << argc-1 << "\n";  
        it = std::find(myArray.begin(), myArray.end(), searchKey);

        programmName = ... 

        std::cout << "Programmname:\t" << programmName << std::endl;    /// Alternatively, the endl manipulator can also be used to break lines.

    }
    else
        std::cout << "Argument" << i << " :\t" << myArray[i] << std::endl;
}

К сожалению, моя переменная итератора всегда NULL, у кого-нибудь здесь есть хорошее решение для меня здесь?

Заранее спасибо!

...