kommandozeilen Parameter in eine EXE übernehmen



  • Dos Programm, ich brächt bissel Code Hilfe, weil mein Code sich nicht compalieren lässt...

    FILE *f;				//datei init universal
    int argc;			/* Number of strings in array argv */
    char *argv[];           /* Array of command-line argument strings */
    int count;
    
    int main()
    {
    
        /* Display each command-line argument. */
        printf( "\nCommand-line arguments:\n" );
        for( count = 0; count < argc; count++ ) printf( "  argv[%d]   %s\n", count, argv[count] );
    
    	return 0;
    
    }
    


  • #include <stdio.h>
    
    int main(int argc, char *argv[])
    {
     int i;
    
     for(i=0; i < argc; i++)
      {
       printf("argv[%d] = %s ",i,argv[i]);
       printf("\n");
      }
     return 0;
    }
    

    ps: und frag für dos/win32 konsole einfach in dem dafür vorgesehenen forum 😉



  • Dieser Thread wurde von Moderator/in C-O-M-M-A-N-D-E-R aus dem Forum MFC mit dem Visual C++ in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • ich gelobe besserung bei der auswahl des forums 😃 trotzdem danke..

    habe aber das problem, das beim kompilieren der Fehler:

    Befehlszeilenfehler D2016 : Die Befehlszeilenoptionen '/ZI' und '/O2' sind inkompatibel

    kommt.. sagt dir das irgendwas?? grüsse ralf



  • seltsam.

    hast du ein win32/konsolen projekt erzeugt?
    hast du eine datei .c oder .cpp hinzugefügt?
    hast du inlines in deinem code?
    steht da noch mehr drumrum?
    hast du irgendwie per einstellung optimiert?

    ein paar eingrenzungsfragen... hmm...



  • im moment teste ich nur dein Codeschnipsel in einer c++ Quellcodedatei *.ccp ohne irgenwelchen anderen Code..

    #include <stdio.h>
    
    int main(int argc,/* Number of strings in array argv */
    		  char *argv[]/* Array of command-line argument strings */)
    {
    
    	int i; 
    
    	for(i=0; i < argc; i++) 
    	{ 
    	printf("argv[%d] = %s ",i,argv[i]); 
    	printf("\n"); 
    
    	return 0;
    
    }
    


  • okay.. jetzt gehts..

    wie kann ich die eingelesenen Werte in string oder int umwandeln??



  • Die eingelesenen Werte sind bereits Strings. In Integer kannst du sie zB mit sprintf() konvertieren.

    MfG SideWinder



  • Wenn ich Sie aber einer anderen String variable zuweisen will vermeldet der Kompiler jede Menge Fehler

    int i;
    
    int main(int argc,/* Number of strings in array argv */
    		  char *argv[]/* Array of command-line argument strings */)
    {	 
    
    	for(i=0; i < argc; i++) 
    	{ 
    		printf("argv[%d] = %s ",i,argv[i]); 
    		printf("\n");
    		if (i=1) 
    		{
    			string test = argv[i];
    		}
    	}
    
    	printf("dateipfad: ",test);
    
    	return 0;
    
    }
    


  • mal in c++ 😉
    weil du anscheinend die string klasse verwenden willst.

    #include <iostream>
    #include <string> //string klasse aus dem std
    using namespace std;                
    
    int main(int argc, char *argv[])
    {     	
    	string test;
    	int i; //keine globalen variablen
    
        for( i=0; i<argc; i++)
        {
            if (i==1)	//falscher vergleich gewesen mit einem "="
            {
               test = argv[i];
            }
        }
        cout<<test<<endl;
    }
    

Anmelden zum Antworten