Char Problem



  • Was du machst ist, dass du 2 char-Pointer miteinander addierst.

    Versuch folgendes:

    sprintf("%s%s",  argv[1], argv[2]);
    


  • HI!

    So hats auch nicht geklappt habs jetzt aber hinbekommen.
    Mit StrCat() damit funtzt.
    Aber trotzdem danke gell 🙂



  • Entschuldige, ich hab vergessen, dass die Funktion auch einen Buffer benötigt.

    char  buffer[200];
    sprintf(buffer, "%s%s",  argv[1], argv[2]);
    


  • HI!

    Jetzt hab ich deinen Code mal versucht

    char command[500];
    sprintf(command, "%s%s",  argv[1], argv[2]);
    cout << command;
    

    Aber wenn ich dass Kompilieren will haut mein Compiler (gmake in KDevelop 2.1)

    Folgende Fehlermeldung raus:

    main.cpp: In function `int main (int, char **)': 
    main.cpp:69: universal-character-name `\u00a0' not valid in identifier 
    main.cpp:69: universal-character-name `\u00a0' not valid in identifier 
    main.cpp:69: sorry, not implemented: universal characters in 
    identifiers 
    main.cpp:69: `_argv' undeclared (first use this function) 
    main.cpp:69: (Each undeclared identifier is reported only once for each 
    function it appears in.)
    


  • Ich hab keinen Schimmer was der Compiler mit "universal-character-name `\u00a0' not valid in identifier" meint. Zeile 69, welche der drei Zeilen ist das aus dem Code den du angegeben hast?



  • Es ist der sprintf ausdruck (die zeile 69)

    Leider funtz das mit StrCat() auch nicht weil der irgendwie kein normalen Char-Pointer und ein Char-Point-Array zusammensetzten kann.

    Bitte bitte helft mir es ist verdammt wichtig 🙂

    Aber, Azis der ausdruck den ich als letztes beschrieb ist doch so richtig oder?



  • Ich habs jetzt ausprobiert und es funktioniert...

    Heißt die Variable ganz sicher "argv" und nicht vielleicht "_argv" ?

    Ansonsten kann ich dir nicht viel helfen weil du einen Compiler hast, den ich nicht verwende...



  • HI!

    Also eigetnlich heisst sie argv so wie ichs sagte.
    das sind halt die Paramenter die an die App. übergeben werden.

    Anzahl "int argc" und inhalt "char * argv[int param_index]"
    Und wenn man z.b. cout << argv[1]; aufruft und die App so gestartet hat:

    ./meineapp Hallo

    Wird Hallo ausgegeben, also müsste es schon stimmen



  • Hast du <stdio.h> included?



  • #include <string>
    using namespace std;
    
    int main(int argc, char* argv[])
    {
        string a = argv[0], b = argv[1];
        string c = a + b;
    }
    

    Oder bist du wirklich sicher, dass du char* verwenden willst/musst?


Anmelden zum Antworten