<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[kein AnsiString aus char*]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich versuche ein char-Array in einen AnsiString umzuwandeln. Im AnsiString stehen aber nur Hieroglyphen.</p>
<pre><code class="language-cpp">char text[64];
Zeiger_auf_winAPI_Fkt(text); //schreibt in text etwas rein. Das klappt auch: der Debugger zeigt mir nach dem Fkt.aufruf den gewünschten nullterm. String in &quot;text&quot; hier an
AnsiString *s = new AnsiString(text); //ab hier sind im Char Array und im erstellten AnsiString nur noch Hieroglyphen
</code></pre>
<p>Kann mir keinen Reim darauf machen. Woran liegt das? Wenn ich einen neuen AnsiString erstelle, müsste doch zumindest das Char Array so bleiben wie es ist.<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/106459/kein-ansistring-aus-char</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 05:34:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/106459.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 10 Apr 2005 11:01:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 11:43:32 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich versuche ein char-Array in einen AnsiString umzuwandeln. Im AnsiString stehen aber nur Hieroglyphen.</p>
<pre><code class="language-cpp">char text[64];
Zeiger_auf_winAPI_Fkt(text); //schreibt in text etwas rein. Das klappt auch: der Debugger zeigt mir nach dem Fkt.aufruf den gewünschten nullterm. String in &quot;text&quot; hier an
AnsiString *s = new AnsiString(text); //ab hier sind im Char Array und im erstellten AnsiString nur noch Hieroglyphen
</code></pre>
<p>Kann mir keinen Reim darauf machen. Woran liegt das? Wenn ich einen neuen AnsiString erstelle, müsste doch zumindest das Char Array so bleiben wie es ist.<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763423</guid><dc:creator><![CDATA[inquisitor]]></dc:creator><pubDate>Mon, 11 Apr 2005 11:43:32 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Sun, 10 Apr 2005 11:16:45 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">String str = text;
</code></pre>
<p>Fertig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763436</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sun, 10 Apr 2005 11:16:45 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 11:43:54 GMT]]></title><description><![CDATA[<p>Danke, das Problem bleibt aber das selbe.</p>
<pre><code class="language-cpp">char text[64];
Zeiger_auf_winAPI_Fkt(text); 
String s = text; //Hieroglyphen
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/763479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763479</guid><dc:creator><![CDATA[inquisitor]]></dc:creator><pubDate>Mon, 11 Apr 2005 11:43:54 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Sun, 10 Apr 2005 17:39:15 GMT]]></title><description><![CDATA[<p>char text[64];<br />
Zeiger_auf_winAPI_Fkt(text);<br />
AnsiString s = AnsiString(text);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763543</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Sun, 10 Apr 2005 17:39:15 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Sun, 10 Apr 2005 17:47:59 GMT]]></title><description><![CDATA[<p>Hab ich leider alles schon versucht. Hab auch schon versucht die char* Variable global zu definieren, aber dann kommt eine Zugriffsverletzung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Kann das was damit zu tun haben, dss ich mal bei Projekteigenschaften-&gt;Compiler-&gt;Vorcompilierte Header piuffern auf Vorcompilierte Header nicht verwenden geschaltet habe?</p>
<p>Ich werd nochmal ein neues Projekt anfangen und erneut versuchen. Trotzdem Vielen Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763553</guid><dc:creator><![CDATA[inquisitor]]></dc:creator><pubDate>Sun, 10 Apr 2005 17:47:59 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Sun, 10 Apr 2005 18:13:33 GMT]]></title><description><![CDATA[<p>inquisitor schrieb:</p>
<blockquote>
<p>Ich versuche ein char-Array in einen AnsiString umzuwandeln. Im AnsiString stehen aber nur Hyroglyphen.</p>
</blockquote>
<p>Es heißt H<strong>ie</strong>roglyphen!<br />
Zeig doch einfach mal mehr Code! Das von dir geschilderte Vorgehen ist korrekt, also wird es wohl am Kontext liegen.</p>
<p>Moritz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763571</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Sun, 10 Apr 2005 18:13:33 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Sun, 10 Apr 2005 21:39:26 GMT]]></title><description><![CDATA[<p>Bevor du neu anfängst, zeig mal die exakten Aufrufe der API Funktion. Für mich klingt es danach, dass dir die Funktion nichts schlaues zurückliefert. Schonmal mit memset den Puffer auf 0 initialisiert? Wenn du das machst, werdendie HIeroglyphen weg sein allerdings wird dann einfach ein Leerstring reingeladen. Das wiederum deutet darauf hin, dass dir die API Funktion (welche isses denn nu) dein Char-buffer nicht richtig füllt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763731</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Sun, 10 Apr 2005 21:39:26 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 05:20:25 GMT]]></title><description><![CDATA[<p>Ich möchte vom CAPI-Treiber den Hersteller auslesen. Dazu hole ich mir mit GetProcAddr den Zeiger auf die entsprechende CAPI Fkt.</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
   char hersteller[64];
   memset(hersteller,'\0', 64);
   typedef DWORD CF_CAPI_INSTALLED(void); 
typedef void CF_GET_MANUFACTURER(char *hersteller);
	CF_CAPI_INSTALLED * cf_CAPI_INSTALLED;//Zgr. auf Fkt.
	CF_GET_MANUFACTURER * cf_GET_MANUFACTURER;
	HINSTANCE capiHandle;
   capiHandle = LoadLibrary(&quot;capi2032.dll&quot;); //WinApi Fkt. zum DLL-Laden
   cf_CAPI_INSTALLED = (CF_CAPI_INSTALLED*)GetProcAddress(capiHandle, &quot;CAPI_INSTALLED&quot;); //Zeiger auf entspr. Fkt holen
   cf_GET_MANUFACTURER = (CF_GET_MANUFACTURER*)GetProcAddress(capiHandle, &quot;CAPI_GET_MANUFACTURER&quot;);
   cf_CAPI_INSTALLED(); //Ausführen um CAPI zu init.
   cf_GET_MANUFACTURER(hersteller); //Hersteller holen. Das klappt!! Nach Fkt.aufruf steht &quot;AVM-GMBH\0&quot; in &quot;hersteller&quot;.
   Memo1-&gt;Lines-&gt;Add(hersteller); //hier krachts (char[] global -&gt; Zugriffsverl., char[] lokal-&gt;Hieroglyphen)
}
</code></pre>
<p>Steh ich nur auf dem Schlauch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763795</guid><dc:creator><![CDATA[inquisitor]]></dc:creator><pubDate>Mon, 11 Apr 2005 05:20:25 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 05:30:33 GMT]]></title><description><![CDATA[<p>Und die Funktionszeiger sind gültig die du da erhälst? Hab nämlich nirgends ne Überprüfung gesehen....</p>
<p>-junix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763797</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Mon, 11 Apr 2005 05:30:33 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 05:44:56 GMT]]></title><description><![CDATA[<p>geben die funktionen nen widestring zurück (wchar_t) ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763798</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Mon, 11 Apr 2005 05:44:56 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 11:23:09 GMT]]></title><description><![CDATA[<p>Also ich caste das chararray noch mal nach Ansistring:</p>
<p>z.B:<br />
Memo1-&gt;Lines-&gt;Add(AnsiString(hersteller));</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763942</guid><dc:creator><![CDATA[rautaxe]]></dc:creator><pubDate>Mon, 11 Apr 2005 11:23:09 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 11:40:25 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9239">@rautaxe</a><br />
Hab ich auch schon versucht.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/588">@Sunday</a><br />
Nein, die Fkt. die den Hersteller ausliest, ist nach der CAPI-Doku:</p>
<pre><code class="language-cpp">VOID APIENTRY CAPI_GET_MANUFACTURER (char * SzBuffer);
</code></pre>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/760">@junix</a><br />
Ja, die Zeiger sind gültig. Zum Posten hab ich die Überprüfung weggelassen. Ich überprüfe sie mit</p>
<pre><code class="language-cpp">if(cf_GET_MANUFACTURER == NULL){
   //Fehler
}
</code></pre>
<p>Außerdem würde doch sonst im Char Array nach dem Fkt.aufruf nicht &quot;AVM-GMBH\0&quot; stehen, oder? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich denke langsam, dass es ein Problem mit dem C++ Builder ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763958</guid><dc:creator><![CDATA[inquisitor]]></dc:creator><pubDate>Mon, 11 Apr 2005 11:40:25 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 11:57:42 GMT]]></title><description><![CDATA[<p>Eine Frage: Sollte der Funktionszeiger</p>
<pre><code class="language-cpp">typedef DWORD CF_CAPI_INSTALLED(void);
</code></pre>
<p>nicht so aussehen?[cpp]typedef DWORD *<em>(<em><strong>CF_CAPI_INSTALLED</strong>)</em></em>(void);[/cpp]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/763966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/763966</guid><dc:creator><![CDATA[PuppetMaster2k]]></dc:creator><pubDate>Mon, 11 Apr 2005 11:57:42 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 14:03:34 GMT]]></title><description><![CDATA[<p>Stimmt natürlich... Gaube allerdings nicht, dass es ein Problem des BCB ist... Was steht in der Doku zu der Funktion? Was genau macht die mit dem Zeiger?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/764074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/764074</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Mon, 11 Apr 2005 14:03:34 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 15:05:34 GMT]]></title><description><![CDATA[<p>Aus der CAPI-Doku:</p>
<blockquote>
<p>Description<br />
With this operation the application obtains the manufacturer identification of<br />
COMMON-ISDN-API (DLL). SzBuffer is a pointer to a buffer of 64 bytes.<br />
COMMON-ISDN-API copies the identification string, coded as a zero-terminated<br />
ASCII string, to this buffer.</p>
<p>Function call:</p>
<pre><code class="language-cpp">VOID APIENTRY CAPI_GET_MANUFACTURER (char * SzBuffer);
</code></pre>
<p>Parameter Comment<br />
SzBuffer Pointer to a buffer of 64 bytes</p>
</blockquote>
<p>Schon seltsam, oder? Konnte irgendjemand das Problem nachstellen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/764136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/764136</guid><dc:creator><![CDATA[inquisitor]]></dc:creator><pubDate>Mon, 11 Apr 2005 15:05:34 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 15:34:06 GMT]]></title><description><![CDATA[<p>da ich leider nicht mit CAPI beschäftigt bin, kann ich da wenig tun um das nachzustellen... Also wenn du die Funktion verlässt, stehen da hieroglyphen drin?</p>
<p>-junix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/764163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/764163</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Mon, 11 Apr 2005 15:34:06 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 16:30:07 GMT]]></title><description><![CDATA[<p>Ja, sobald ich versuche das char-Array (in dem unmitelbar nach dem Funktionsaufruf der richtige String steht) z.B. in ein Memo zu schreiben. Danach stehen nur noch Hieroglyphen im char-Array bzw. das Programm stürzt mit einer Zugriffsverletzung ab;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/764193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/764193</guid><dc:creator><![CDATA[inquisitor]]></dc:creator><pubDate>Mon, 11 Apr 2005 16:30:07 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 19:00:50 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Probier's mal so :</p>
<pre><code class="language-cpp">typedef DWORD CF_CAPI_INSTALLED(void);
typedef void CF_GET_MANUFACTURER(char *hersteller);
//
char* hersteller = new char[64];
memset(hersteller, '\0', 64);
CF_CAPI_INSTALLED   * cf_CAPI_INSTALLED;//Zgr. auf Fkt.
CF_GET_MANUFACTURER * cf_GET_MANUFACTURER;
HINSTANCE capiHandle;
// WinApi Fkt. zum DLL-Laden
capiHandle = LoadLibrary(&quot;capi2032.dll&quot;);
if (capiHandle)
{
  // Zeiger auf entspr. Fkt holen
  cf_CAPI_INSTALLED   = (CF_CAPI_INSTALLED*)  GetProcAddress(capiHandle, &quot;CAPI_INSTALLED&quot;);
  cf_GET_MANUFACTURER = (CF_GET_MANUFACTURER*)GetProcAddress(capiHandle, &quot;CAPI_GET_MANUFACTURER&quot;);
  // Ausführen um CAPI zu init.
  if (cf_CAPI_INSTALLED)
    cf_CAPI_INSTALLED();
  // Hersteller holen.
  if (cf_GET_MANUFACTURER)
    cf_GET_MANUFACTURER(hersteller);
}  //
AnsiString HerstellerStr = hersteller;
Memo1-&gt;Lines-&gt;Add(HerstellerStr);
delete hersteller;
</code></pre>
<p>Bis dann denn,<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Nash</p>
]]></description><link>https://www.c-plusplus.net/forum/post/764307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/764307</guid><dc:creator><![CDATA[Nash]]></dc:creator><pubDate>Mon, 11 Apr 2005 19:00:50 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Mon, 11 Apr 2005 23:32:59 GMT]]></title><description><![CDATA[<p>Wenn schon new [] dann bitte auch delete []<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/764464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/764464</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Mon, 11 Apr 2005 23:32:59 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Tue, 12 Apr 2005 00:33:15 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Tja nun... hab' ich übersehen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Ich benutze dieses &quot;new char[...]&quot;-Kramzeugs nicht so häufig, da vergißt man sowas schonmal.</p>
<p>Bis dann denn,<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Nash</p>
]]></description><link>https://www.c-plusplus.net/forum/post/764468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/764468</guid><dc:creator><![CDATA[Nash]]></dc:creator><pubDate>Tue, 12 Apr 2005 00:33:15 GMT</pubDate></item><item><title><![CDATA[Reply to kein AnsiString aus char* on Tue, 12 Apr 2005 11:08:52 GMT]]></title><description><![CDATA[<p>Recht vielen Dank, Nash !!!</p>
<p>Das wars <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/764683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/764683</guid><dc:creator><![CDATA[inquisitor]]></dc:creator><pubDate>Tue, 12 Apr 2005 11:08:52 GMT</pubDate></item></channel></rss>