bestehendes c programm um startparameter variable erweitern



  • hallo, ich möchte für ein projekt die megahal.c (megahal ist ein AI Bot) so ergänzen, dass wenn ich es über Terminal starte und einen startparameter angebe wie zb -"das ist ein satz, den du jetzt bitte bearbeitest" es diesen parameter in einer variable speichert.

    was ich bisher gefunden habe ist folgendes:

    int main(int argc, char* argv[]) {
    	char input_gelalle = argv[0];
    }
    

    zugegeben habe ich von c nicht viel ahnung, sondern habe bisher nur mit scripting sprachen zu tun gehabt. Mit sicherheit gibt es für das problem eine einfache lösung, wäre nett, wenn mit jemand helfen kann....

    cheers



  • so ist es richtig

    int main(int argc, char* argv[]) {
        char const *input_gelalle = argv[0];
    }
    

    argc ist die Anzahl der Parameter und argv sind die Parameter (wobei argv[0] der Aufruf des Programmes ist)



  • int main ( int argc, char* argv[] )
    {
    	// Was ueber die Kommandozeile uebergeben wurde, kannst du dir so 
    	// angucken: 
    	int i = 0;
    	for ( i=0; i<argc; i++ )
    	{
    		printf ( "%s\n", argv[i] );
    	}
    
    	// Oder in Kurzform rueckwaerts: 
    	i = argc;
    	while ( --argc >= 0 )
    		printf ( "%s\n", argv[argc] );
    
    	argc = i;
    	// Jetzt mal die Variablen mit irgendwas vergleichen:
    	for ( i=0; i<argc; i++ )
    	{
    		if ( strcmp ( "Dumbidumbidum ... Kekse!", argv[i] ) == 0 )
    			puts( "Kruemelmonster found!" );
    		if ( strcmp ( "quit", argv[i] ) == 0 )
    			exit(0);
    	}
    	return 0;
           // Zeichenketten mit Leerzeichen gibst du in Anfuehrungszeichen ein:
           // main "Dumbidumbidum ... Kekse!"
           // damit sie nicht an den Leerzeichen getrennt werden.
    }
    

    🙂



  • Hey, vielen Dank,werde es gleich mal versuchen...


Anmelden zum Antworten