string



  • Hallo ich möchte eine Funktion schreiben, dass sie eine String bauet.String muss immer mit ABC anfangen und je nach dem mit einem eingegebenen zeichen weiter gehen. Am ende muss \e\n erhalten...
    Z.B. "ABC,1 \e"
    oder "ABC,J \e"

    char StringBilden(char *s)
    {
    
    char *String[10]={"ABC","s","\e""};
    return *String
    

    }
    Es wäre sehr nett, wenn jemand mir eine Idee gibt.



  • C++ lernen und std::string verwenden.



  • Wie wäre es, wenn du die C++ - Strings verwendest?

    #include <string>
    
    std::string StringBilden(const std::string& input) {
        std::string output("ABC,");
        output += input;
        output += "\\e";
        return output;
    }
    


  • Hallo an Alle,

    ich hätte auch eine kleine Frage zum Zusammenbau von Strings. Ich würde gerne wissen warum mein String der in der Form (E:\\Angewandte Studie\\Listen\\Liste2)
    an einen string übergeben wird gekürzt wird. Nach Ausgabe des Strings sieht das ganze so (E:\Angewandte Studie\Listen\Liste2), was bedeutet das mir immer ein \ weggenommen wird. Wäre für eine Antwort sehr dankbar.

    Grüße
    KOSMIK



  • Der Backslash wird als Kennung verwendet, um nicht-darstellbare Zeichen im String kodieren zu können (z.B. Zeilenende, Tab, Anführungszeichen oder auch Zeichen, die auf der Tastatur nicht vorkommen) - das nennt sich "Escape-Sequenzen". Um die Anwendung des Backslash als Escape-Zeichen von dem Symbol \ zu unterscheiden, mußt du ihn deshalb auch maskieren - das Ergebnis ist dann \.



  • Erstmal ein rießen Danke für die Blitzschnelle Antwort 🙂 WOW. Das Wort maskieren ist mir leider noch nicht bekannt. Ich dachte das sowas '\' gemeint ist, aber damit wird der ganze \ aufgehoben.



  • Kleiner Edit von mir, wollte eigentlich einen Dateipfad zusammenbauen unter der Vorraussetzung das ich die Pfade nur mit \\ angeben kann. Hab aber gerade einen Beitrag gefunden bei dem stand das man die Pfade auch / so angeben kann. Nochmals Danke für die Antwort.

    Grüße
    KOSMIK



  • kosmik_manyak schrieb:

    Kleiner Edit von mir, wollte eigentlich einen Dateipfad zusammenbauen unter der Vorraussetzung das ich die Pfade nur mit \\ angeben kann. Hab aber gerade einen Beitrag gefunden bei dem stand das man die Pfade auch / so angeben kann. Nochmals Danke für die Antwort.

    Grüße
    KOSMIK

    Kommt auf das Betriebssystem an und ist damit betriebssystemspezifisch. Boost hat dafür portable Pfadangaben eingeführt.
    http://www.highscore.de/cpp/boost/

    Lg freeG



  • Es geht zumindest unter Windows und Linux.
    Es kann aber auch Länderspezifisch sein. Ich hatte mal mit einer japanischen Windowsversion zu tun, wo das Yen-Zeichen als Pfadtrenner verwendet wurde.



  • Danke DrHaxxor! aber ich muss das in C schreiben



  • Warum fragst du dann in einem C++ Forum?



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) in das Forum C (C89 und C99) verschoben.

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

    Dieses Posting wurde automatisch erzeugt.



  • Sorry


  • Mod

    Da du inzwischen einen Extra-Thread im C Forum aufgemacht hast, mache ich hier mal zu und verweise noch dahin wo es weitergeht:
    http://www.c-plusplus.net/forum/286820


Log in to reply