Announcement

Collapse
No announcement yet.

Object::String in LPSTR umwandeln

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Object::String in LPSTR umwandeln

    Hallo,

    weiß jemand wie das geht?

    Grüße Kim

  • #2
    Hallo<P>
    Ich denke, folgendes könnte funktionieren:<P>

    <PRE>
    LPSTR ConvertString(String* s) {
    LPSTR tmp = new char[s->Length + 1];
    for (int i = 0; i < s->Length; i++) {
    tmp[i] = (char) s->Chars[i];
    }
    tmp[s->Length] = 0;
    return tmp;
    }
    </PRE>
    <P>
    Gruss Simo

    Comment


    • #3
      Hallo,

      danke für den Tipp. Mittlerweile hab ich es folgendermaßen gemacht:

      <pre>
      LPSTR ConvertString(String* s)
      {
      IntPtr ptr = Marshal::StringToHGlobalAnsi(s);
      return reinterpret_cast<LPCTSTR>(ptr.ToPointer());
      }</pre&gt

      Comment


      • #4
        Hallo<p>
        Sollte man nicht dem Garbage Collector noch irgendwie mitteilen, dass er den String* s nicht aufräumen soll? Und dafür müsste man doch dann den ptr irgendwie wieder mit Marshal::Freigeben(ptr) den Speicher freigeben?

        Gruss Simo

        Comment


        • #5
          Mhm?

          Und wie heißt es dann richtig

          Comment


          • #6
            Naja, das weiss ich eben auch nicht... desshalb hab ich ja gebfragt. :-)<P>
            Gruss Simo

            Comment

            Working...
            X