Porównywanie Stringa z argumentem funkcji main

0
#include <iostream>
#include <string>

using namespace std;


int main(int argc, char* argv[]) {
string nazwaPlikuWejsciowego; //-i wejscie.txt
string nazwaPlikuWyjsciowego; //-o wyjscie.txt
string formatLiczb; // flaga -n {int|float}
string znakPomiedzyLiczbami; //-t {space|tab|semi}
string liczbaKolumnWierszy; //-m {counted|headers}


	//petla for wyszukuje znacznikow
	for(int i =  1; i < argc; ++i) {
		cout << argv[i] << endl;
		if(argv[i] == "-i") { nazwaPlikuWejsciowego = argv[i+1];}
	}
	cout << "wejscie = " << nazwaPlikuWejsciowego << endl;
}

uruchamiam program polceniem :

./prog -i wej.txt -o wyj.txt -n int
Niestety takie porówananie w funkcji

if(argv[i] == "-i")

Z góry dziękuje za pomoc.

dodanie znaczników <code class="cpp"> i <code> - Furious Programming

0

do porównywania c-stringów służy strcmp()

0

Dziękuję Bardzo.

0
if(string(argv[i]) == "-i")
1

Jeśli masz zamiar użyć wielu parametrów, to skorzystaj z gotowego rozwiązania: Boost.Program_options

1 użytkowników online, w tym zalogowanych: 0, gości: 1