<?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[char und string Problem]]></title><description><![CDATA[<p>Hallo Community</p>
<p>Mein Code bisher:</p>
<pre><code class="language-cpp">HINTERNET hRootHandle, hOpenUrlHandle;
    hRootHandle = InternetOpen(&quot;Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1&quot;,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);
    hOpenUrlHandle = InternetOpenUrl(hRootHandle,&quot;http://127.0.0.1/test.txt&quot;,NULL,0,INTERNET_FLAG_RAW_DATA,0);

//BOOL InternetReadFile(
//  __in   HINTERNET hFile,
//  __out  LPVOID lpBuffer,
//  __in   DWORD dwNumberOfBytesToRead,
//  __out  LPDWORD lpdwNumberOfBytesRead
//);

    char szBuf[5];
    DWORD ReadSize;

    InternetReadFile(hOpenUrlHandle,&amp;szBuf,sizeof(szBuf),&amp;ReadSize);
    szBuf[sizeof(ReadSize)] = 0x00; //Ende

    cout &lt;&lt; szBuf;

    InternetCloseHandle(hOpenUrlHandle);
    InternetCloseHandle(hRootHandle);
</code></pre>
<p>Da char ja noch von C stammt (richtig oder?), wollte ich char mit String ersetzen.</p>
<p>Mit szBuf[5] lese ich ja 5 Zeichen im Code aus.<br />
Jetzt möchte ich dies mit string szBuf[5]; ersetzen.</p>
<p>Wenn ich es so mache kommt aber als Antwort nicht der Text sondern &quot;0x28feb4&quot;. (Eine Speicheradresse?)</p>
<p>Wäre froh wenn jemad mir das erklären kann wie ich es am besten im C++ Style machen kann da ich ja sogut wie möglich C meiden wollte..</p>
<p>Grüsse, Genius</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/294753/char-und-string-problem</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 18:58:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/294753.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 31 Oct 2011 21:14:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to char und string Problem on Mon, 31 Oct 2011 21:14:26 GMT]]></title><description><![CDATA[<p>Hallo Community</p>
<p>Mein Code bisher:</p>
<pre><code class="language-cpp">HINTERNET hRootHandle, hOpenUrlHandle;
    hRootHandle = InternetOpen(&quot;Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1&quot;,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);
    hOpenUrlHandle = InternetOpenUrl(hRootHandle,&quot;http://127.0.0.1/test.txt&quot;,NULL,0,INTERNET_FLAG_RAW_DATA,0);

//BOOL InternetReadFile(
//  __in   HINTERNET hFile,
//  __out  LPVOID lpBuffer,
//  __in   DWORD dwNumberOfBytesToRead,
//  __out  LPDWORD lpdwNumberOfBytesRead
//);

    char szBuf[5];
    DWORD ReadSize;

    InternetReadFile(hOpenUrlHandle,&amp;szBuf,sizeof(szBuf),&amp;ReadSize);
    szBuf[sizeof(ReadSize)] = 0x00; //Ende

    cout &lt;&lt; szBuf;

    InternetCloseHandle(hOpenUrlHandle);
    InternetCloseHandle(hRootHandle);
</code></pre>
<p>Da char ja noch von C stammt (richtig oder?), wollte ich char mit String ersetzen.</p>
<p>Mit szBuf[5] lese ich ja 5 Zeichen im Code aus.<br />
Jetzt möchte ich dies mit string szBuf[5]; ersetzen.</p>
<p>Wenn ich es so mache kommt aber als Antwort nicht der Text sondern &quot;0x28feb4&quot;. (Eine Speicheradresse?)</p>
<p>Wäre froh wenn jemad mir das erklären kann wie ich es am besten im C++ Style machen kann da ich ja sogut wie möglich C meiden wollte..</p>
<p>Grüsse, Genius</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2138448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2138448</guid><dc:creator><![CDATA[Genius]]></dc:creator><pubDate>Mon, 31 Oct 2011 21:14:26 GMT</pubDate></item><item><title><![CDATA[Reply to char und string Problem on Mon, 31 Oct 2011 21:30:01 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::string buffString(szBuf);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2138455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2138455</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Mon, 31 Oct 2011 21:30:01 GMT</pubDate></item><item><title><![CDATA[Reply to char und string Problem on Mon, 31 Oct 2011 21:42:35 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Danke für die schnelle Antwort.</p>
<p>Nun habe ich es so (Danke schonmal für den Tipp):</p>
<pre><code class="language-cpp">char szBuf[5];
    DWORD ReadSize;

    InternetReadFile(hOpenUrlHandle,&amp;szBuf,sizeof(szBuf),&amp;ReadSize);
    szBuf[sizeof(ReadSize)] = 0x00;

    string buffString(szBuf);
    cout &lt;&lt; buffString;
</code></pre>
<p>Gibt es eine Möglichkeit, direkt das char array mit einem string array zu tauschen?</p>
<p>Grüsse, Genius</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2138458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2138458</guid><dc:creator><![CDATA[Genius]]></dc:creator><pubDate>Mon, 31 Oct 2011 21:42:35 GMT</pubDate></item><item><title><![CDATA[Reply to char und string Problem on Mon, 31 Oct 2011 22:02:14 GMT]]></title><description><![CDATA[<p>Wie meinst du das? In der InternetReadFile()-Funktion? Das geht nicht, weil die Funktion ein char-Array erwartet und aus 'nem String kannst du nur ein <strong>const</strong> char-Array machen... Oder wie meinst du das?</p>
<p>Willst du mit</p>
<pre><code>szBuf[sizeof(ReadSize)] = 0x00;
</code></pre>
<p>aus dem char-Array einen nullterminierten String machen? Wenn ja, dann würde ich die Zeile weglassen, solange du weiter mit dem neuen String und nicht mit'm buff arbeitest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2138469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2138469</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Mon, 31 Oct 2011 22:02:14 GMT</pubDate></item><item><title><![CDATA[Reply to char und string Problem on Mon, 31 Oct 2011 22:17:51 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Okay, danke für deine Erklärung.<br />
Also InternetReadFile() will ein char array.</p>
<p>Jetzt meine 2 Fragen:<br />
1 -&gt; Wo sehe ich, das die Funktion ein char array möchte?<br />
2 -&gt; Gibt es eine bessere Möglichkeit als InternetReadFile() um einen Text im Internet ausulesen? Auf externe librarys wie cURL möchte ich verzichten.</p>
<p>Grüsse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2138480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2138480</guid><dc:creator><![CDATA[Genius]]></dc:creator><pubDate>Mon, 31 Oct 2011 22:17:51 GMT</pubDate></item><item><title><![CDATA[Reply to char und string Problem on Mon, 31 Oct 2011 22:29:18 GMT]]></title><description><![CDATA[<p>Genius schrieb:</p>
<blockquote>
<p>Wo sehe ich, das die Funktion ein char array möchte?</p>
</blockquote>
<p>In der Dokumentation zu dieser Funktion, oder auf neudeutsch: <strong>RTFM</strong><br />
In diesem Fall die MSDN.<br />
Also 'InternetReadFile msdn' bei Google eingeben und Ergebnisse ansehen:</p>
<pre><code class="language-cpp">BOOL InternetReadFile(
  __in   HINTERNET hFile,
  __out  LPVOID lpBuffer,
  __in   DWORD dwNumberOfBytesToRead,
  __out  LPDWORD lpdwNumberOfBytesRead
);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2138492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2138492</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Mon, 31 Oct 2011 22:29:18 GMT</pubDate></item><item><title><![CDATA[Reply to char und string Problem on Mon, 31 Oct 2011 22:31:52 GMT]]></title><description><![CDATA[<p>1 -&gt; Ich bin davon ausgegangen, dass es char-Array braucht, das stimmt aber nicht. Die ganzen WinAPI-Funktionen kannst du auf <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa385103%28v=vs.85%29.aspx" rel="nofollow">MSDN</a> nachschlagen.<br />
2 -&gt; muss passen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2138496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2138496</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Mon, 31 Oct 2011 22:31:52 GMT</pubDate></item><item><title><![CDATA[Reply to char und string Problem on Mon, 31 Oct 2011 22:33:25 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich danke auch sehr für die Antworten meiner Anfänger Fragen.</p>
<p>Vielen Dank <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="🙂"
    /></p>
<p>Grüsse, Genius</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2138497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2138497</guid><dc:creator><![CDATA[Genius]]></dc:creator><pubDate>Mon, 31 Oct 2011 22:33:25 GMT</pubDate></item></channel></rss>