steuerzeichen für zeilenumbruch HIIIIIIIIIILLLFEEEE!!!^^



  • Da spielt wohl jemand mit der "erweiterten Cäsar-Verschlüsselung" rum? 😃



  • nö nennt sich glaub ich vigenere code 😛

    aufm quadrat von buchstaben verschieben 😉

    und wie kann ich das jetz da einfügen?



  • erstmal ist der Windows/DOS - Zeilenumbruch 2 Zeichen groß. Einfügen in einen Steing geht (ungeprüft) über

    "\x10\x13"
    


  • ill try 😃



  • ok

    compiler:
    17:61 [Warning] hex escape sequence out of range

    undefiniertes verhalten kkommt auch wieder 😛



  • darthdespotism schrieb:

    erstmal ist der Windows/DOS - Zeilenumbruch 2 Zeichen groß. Einfügen in einen Steing geht (ungeprüft) über

    "\x10\x13"
    

    Warum unbedingt Hex?? Und wenn schon hex, dann Hex...

    char carriage_return_and_line_feed[ ] = "\x0a\x0d";
    

    oder einfach:

    char carriage_return_and_line_feed[ ] = "\r\n";
    

    greetz, Swordfish



  • Swordfish schrieb:

    darthdespotism schrieb:

    erstmal ist der Windows/DOS - Zeilenumbruch 2 Zeichen groß. Einfügen in einen Steing geht (ungeprüft) über

    "\x10\x13"
    

    Warum unbedingt Hex?? Und wenn schon hex, dann Hex...

    char carriage_return_and_line_feed[ ] = "\x0a\x0d";
    

    oder einfach:

    char carriage_return_and_line_feed[ ] = "\r\n";
    

    greetz, Swordfish

    Hm ich kannte die Escape-Sequenzen nicht auswendig und oben stand 0x10 - 0x13
    Wenn das in wirklichkeit dezimale waren hast du natürlich recht 😉



  • ...

    und wie kann ich das jetz einfügen??????

    ich mach das ja char für char außer txt mit get()..

    so und jetz mach ich also ne if davor

    if ( real == rn) {
    				output<<rn;
    } else {
    //verfahren
    }
    

    rn sieht so aus:

    char rn [] = "\x0a\x0d";
    

    funktioniert nich, da compiler meint:

    56 J:\verschl_quadrat\verschl_qua2.cpp ISO C++ forbids comparison between pointer and integer

    so was jetz??



  • Informier' dich außerhalb deines Programms über Pointer und Strings in C. rn ist kein einzelnes Zeichen, sondern eine Zeichenkette. Äpfel und Birnen (lies: Zeichen und Zeichenketten) kannst du nicht ohne weiteres vergleichen. Erstens müssten es beides Zeichenketten sein, und zweitens würdest du mit

    char eins[ ] = "eins";
    char zwei[ ] = "zwei";
    
    if( eins == zwei ) {
    
        // sonstwas
    }
    

    die Anfangsadressen der Zeichenketten vergleichen und nicht deren Inhalt. Dafür gäb's strcmp, stricmp und Konsorten.

    Überließ doch einfach alle Zeichen, die nicht in deinem Alphabet vorkommen.

    greetz, Swordfish



  • Swordfish schrieb:

    char eins[ ] = "eins";
    char zwei[ ] = "zwei";
    
    if( eins == zwei ) {
    
        // sonstwas
    }
    

    Ich habe an der Stelle dann immer nach dem Motto

    char eins[] = "eins";
    char zwei[] = "zwei";
    
    if(std::string(eins) == zwei)
    

    gearbeitet 😉



  • mh, das hatte ich eh vor...

    mit dem zeichen überlesen..
    aber es wär ja lustig, wenn auf einmal mitten im verschlüsselten text sinnlose \r\n s auftauchen würden xD

    naja ok regel ich das so


Anmelden zum Antworten