Frage zu "CreateDirectory"



  • Wenn du sowieso Unicode benutzt, warum dann nicht std::wstring?



  • _matze schrieb:

    Wenn du sowieso Unicode benutzt, warum dann nicht std::wstring?

    Und wenn du kein Unicode verwenden willst, kannst du das auch in den Proekteinstellungen ändern. Schau die am besten auch mal die Definition von CreateDirectory an. Je nach aktiviertem Zeichensatz wird dann entweder CreateDirectoryA oder CreateDirectoryW aufgerufen. Momentan scheint bei dir Unicode aktiviert zu sein.



  • jo danke euch.
    Das gleiche gibts a auch bei SetConsoleTitel(); SetConsoleTitelA(); SetConsoleTitelW();



  • 7xCore schrieb:

    jo danke euch.
    Das gleiche gibts a auch bei SetConsoleTitel(); SetConsoleTitelA(); SetConsoleTitelW();

    Das gibt es überall, wer aber heutzutage noch immer A-Versionen verwendet gehört ein bißchen schlimm verhauen.

    MfG SideWinder



  • SideWinder schrieb:

    7xCore schrieb:

    jo danke euch.
    Das gleiche gibts a auch bei SetConsoleTitel(); SetConsoleTitelA(); SetConsoleTitelW();

    Das gibt es überall, wer aber heutzutage noch immer A-Versionen verwendet gehört ein bißchen schlimm verhauen.

    MfG SideWinder

    Auch, wenn man nur ein Hobbyprogrammierer ist? 😃



  • 😃



  • _matze schrieb:

    Wenn du sowieso Unicode benutzt, warum dann nicht std::wstring?

    Hab ich übersehen aber ich hab getline(); benutzt was mit wstring nicht geht



  • 7xCore schrieb:

    _matze schrieb:

    Wenn du sowieso Unicode benutzt, warum dann nicht std::wstring?

    Hab ich übersehen aber ich hab getline(); benutzt was mit wstring nicht geht

    Klar geht das auch mit wstring's, nur mußt du dazu auch die wchar_t-Version der IO-Streams verwenden (wifstream, wcin etc) verwenden.



  • ah ok wenn es das gibt werd ich mir das mal einziehen



  • Oder man macht es gleich richtig:

    typedef std::basic_string<TCHAR> tstring;
    typedef std::basic_ostringstream<TCHAR> tostringstream;
    typedef std::basic_ifstream<TCHAR> tifstream;
    // etc.
    

    Wenn man konsequent TCHAR s verwendet, wo sie gebraucht werden, kann man eine klare Abgrenzung zu speziellen Fällen ( char bspw. in Dateiformaten oder Protokollen und wchar_t bspw. häufig bei COM und neueren commctrl-Funktionen) schaffen.

    Und das kann einem Dritten wirklich weiterhefen, sochen Code weiter zu entwickeln.(Edit: Rechtschreibfehler passt 👍 )

    Also macht es, bitte!



  • Jochen S. schrieb:

    SideWinder schrieb:

    7xCore schrieb:

    jo danke euch.
    Das gleiche gibts a auch bei SetConsoleTitel(); SetConsoleTitelA(); SetConsoleTitelW();

    Das gibt es überall, wer aber heutzutage noch immer A-Versionen verwendet gehört ein bißchen schlimm verhauen.

    MfG SideWinder

    Auch, wenn man nur ein Hobbyprogrammierer ist? 😃

    Klar.
    Am Ende macht man das Hobby noch zum Beruf, und andere arme professionelle Programmierer müssen mit dem Code dann arbeiten.


  • Administrator

    yahendrik schrieb:

    Oder man macht es gleich richtig:

    typedef std::basic_string<TCHAR> tstring;
    typedef std::basic_ostringstream<TCHAR> tostringstream;
    typedef std::basic_ifstream<TCHAR> tifstream;
    // etc.
    

    Wenn man konsequent TCHAR s verwendet, wo sie gebraucht werden, kann man eine klare Abgrenzung zu speziellen Fällen ( char bspw. in Dateiformaten oder Protokollen und wchar_t bspw. häufig bei COM und neueren commctrl-Funktionen) schaffen.

    Und das kann einem Dritten wirklich weiterhefen, sochen Code weiter zu entwickeln.

    Also macht es, bitte!

    tstring - naja, ok
    tostringstream - ehm, najaa~
    tifstream - ne, ne

    Wieso nicht gleich konsequent Unicode verwenden? Deine Argumentation, wieso man TCHAR verwenden soll, habe ich nicht verstanden.

    Grüssli


Anmelden zum Antworten