Sie alle wissen, diese Funktion:C++ Bearbeitung der Elemente von char * argv []
int main(int argc, char* argv[])
{
}
Ich möchte eine Befehlszeilenschnittstelle in Linux für mein Programm schreiben, die in der Regel von getopt_long()
Mein Programm würde von der Kommandozeile wie folgt ausgeführt werden:
pop3 get --limit 25 --recent
Daher ist die argv[]
pop3
als Programmnamen umfassen würde, und der Rest wird als Option behandelt. Ich möchte pop3
aus meiner Zeichenfolge löschen und das erste Token nach ihm als das erste Element des Arrays festlegen. Gibt es einen anderen Weg als das Durchlaufen?
Einfache Lösung: abschneiden: 'argv ++; argc -; ' –
Trick: Sie können die Zeichenfolgen, die zu schreibgeschütztem Speicher gehören, nicht ändern, hören Sie einfach auf, auf sie zu verweisen. – Asim
* "Gewöhnlich von' getopt_long() '" *. Was wolltest du damit sagen. Wirst du 'getopt_long()' benutzen oder nicht? – user3386109