<?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[Pointer (LPCTSTR, LPTSTR, LPVOID) in Datei schreiben]]></title><description><![CDATA[<p>Erstmal ein Hallo in eurem Forum... <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>Und dann komm ich auch gleich mit einem Problem und hoffe ihr könnt mir helfen...</p>
<p>Ich brauche eine Methode, die folgende Parameter übergeben bekommt und diese dann in eine Zeile durch Leerzeichen getrennt in eine Datei schreibt.</p>
<pre><code>void PoolUpdating::update(long lReplySize, long lNumbEmbObjects, long lIndServerLoad, LPCTSTR lpszServerName, int intServerPort, LPTSTR lpszInitObjectName, LPTSTR lpszVerb, DWORD dwOptionalLength, LPVOID lpOptional){

//In Datei schreiben

}
</code></pre>
<p>Probleme machen mir dabei die Pointer.<br />
Alle anderen lassen sich ja z.B. durch folgendes in eine Datei schreiben:</p>
<pre><code>ofstream datei;
datei.open(&quot;neu.txt&quot;, ios::app);
datei &lt;&lt; lRequestSize;
datei &lt;&lt; &quot; &quot;;
.
.
.
datei &lt;&lt; &quot; &quot;;
datei &lt;&lt; dwOptionalLength &lt;&lt; endl;
datei.close;
</code></pre>
<p>Ein Beispieleintrag (nicht real) in der Datei sollte dann so aussehen:</p>
<pre><code>54370 8 0 www.c-plusplus.net 80 /index.html GET 0 NULL
</code></pre>
<p>Dies geht ja leider mit den Pointern nicht so, da würde dann nur die Referenz geschrieben.</p>
<p>Dereferenzieren klappt leider so z.B. auch nicht:</p>
<pre><code>string str = *lpszServerName;
</code></pre>
<p>da kommt dann:</p>
<pre><code>'const WCHAR' kann nicht in 'std::basic_string&lt;_Elem,_Traits,_Ax&gt;' konvertiert werden
</code></pre>
<p>Wenn ich z.B. so konvertiere:</p>
<pre><code>char ch = (char)*lpszServerName;
</code></pre>
<p>wird leider nur das erste Zeichen ausgegeben.</p>
<p>Folgende Ausgabe funktioniert ohne Probleme:</p>
<pre><code>wcout &lt;&lt;&quot;lpszServerName: &quot; &lt;&lt; lpszServerName &lt;&lt; endl;
</code></pre>
<p>Projekteinstellung ist UNICODE, was ja von Bedeutung ist und das soll auch so bleiben.<br />
Die Parameter, die übergeben werden lassen sich auch nicht ändern, da die aus anderen Programmteilen so kommen.</p>
<p>Des weiteren bräuchte ich noch eine Funktion, die LPTSTR lpszVerb überprüft, ob dort GET oder POST drin ist. Sprich einen Vergleich.</p>
<p>Dies geht leider auch nicht:</p>
<pre><code>char*  GET = &quot;GET&quot;;

	if(!strcmp(GET, lpszVerb))
		cout &lt;&lt; &quot;Die Strings sind gleich!&quot; &lt;&lt; endl;
</code></pre>
<p>Ich wäre euch wirklich für Hilfe sehr dankbar. Das www konnte mir hier bis jetzt leider noch nicht weiterhelfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/254307/pointer-lpctstr-lptstr-lpvoid-in-datei-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 01:02:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/254307.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 14 Nov 2009 17:22:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pointer (LPCTSTR, LPTSTR, LPVOID) in Datei schreiben on Sat, 14 Nov 2009 17:22:50 GMT]]></title><description><![CDATA[<p>Erstmal ein Hallo in eurem Forum... <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>Und dann komm ich auch gleich mit einem Problem und hoffe ihr könnt mir helfen...</p>
<p>Ich brauche eine Methode, die folgende Parameter übergeben bekommt und diese dann in eine Zeile durch Leerzeichen getrennt in eine Datei schreibt.</p>
<pre><code>void PoolUpdating::update(long lReplySize, long lNumbEmbObjects, long lIndServerLoad, LPCTSTR lpszServerName, int intServerPort, LPTSTR lpszInitObjectName, LPTSTR lpszVerb, DWORD dwOptionalLength, LPVOID lpOptional){

//In Datei schreiben

}
</code></pre>
<p>Probleme machen mir dabei die Pointer.<br />
Alle anderen lassen sich ja z.B. durch folgendes in eine Datei schreiben:</p>
<pre><code>ofstream datei;
datei.open(&quot;neu.txt&quot;, ios::app);
datei &lt;&lt; lRequestSize;
datei &lt;&lt; &quot; &quot;;
.
.
.
datei &lt;&lt; &quot; &quot;;
datei &lt;&lt; dwOptionalLength &lt;&lt; endl;
datei.close;
</code></pre>
<p>Ein Beispieleintrag (nicht real) in der Datei sollte dann so aussehen:</p>
<pre><code>54370 8 0 www.c-plusplus.net 80 /index.html GET 0 NULL
</code></pre>
<p>Dies geht ja leider mit den Pointern nicht so, da würde dann nur die Referenz geschrieben.</p>
<p>Dereferenzieren klappt leider so z.B. auch nicht:</p>
<pre><code>string str = *lpszServerName;
</code></pre>
<p>da kommt dann:</p>
<pre><code>'const WCHAR' kann nicht in 'std::basic_string&lt;_Elem,_Traits,_Ax&gt;' konvertiert werden
</code></pre>
<p>Wenn ich z.B. so konvertiere:</p>
<pre><code>char ch = (char)*lpszServerName;
</code></pre>
<p>wird leider nur das erste Zeichen ausgegeben.</p>
<p>Folgende Ausgabe funktioniert ohne Probleme:</p>
<pre><code>wcout &lt;&lt;&quot;lpszServerName: &quot; &lt;&lt; lpszServerName &lt;&lt; endl;
</code></pre>
<p>Projekteinstellung ist UNICODE, was ja von Bedeutung ist und das soll auch so bleiben.<br />
Die Parameter, die übergeben werden lassen sich auch nicht ändern, da die aus anderen Programmteilen so kommen.</p>
<p>Des weiteren bräuchte ich noch eine Funktion, die LPTSTR lpszVerb überprüft, ob dort GET oder POST drin ist. Sprich einen Vergleich.</p>
<p>Dies geht leider auch nicht:</p>
<pre><code>char*  GET = &quot;GET&quot;;

	if(!strcmp(GET, lpszVerb))
		cout &lt;&lt; &quot;Die Strings sind gleich!&quot; &lt;&lt; endl;
</code></pre>
<p>Ich wäre euch wirklich für Hilfe sehr dankbar. Das www konnte mir hier bis jetzt leider noch nicht weiterhelfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807997</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Sat, 14 Nov 2009 17:22:50 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer (LPCTSTR, LPTSTR, LPVOID) in Datei schreiben on Sat, 14 Nov 2009 18:17:41 GMT]]></title><description><![CDATA[<p>Wenn du mit Unicode-Strings arbeitest, muss du die entsprechenden Typen, Funktionen und Objekte wählen.</p>
<p>Statt <code>char</code> muss es also <code>wchar_t</code> heißen, statt <code>std::cout std::wcout</code> , statt <code>std::ofstream</code> nimmst du <code>std::wofstream</code> usw.</p>
<p>String-Literale müssen mit einem L markiert werden: L&quot;Hello world&quot;.</p>
<p>Stefan.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1808010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1808010</guid><dc:creator><![CDATA[DStefan]]></dc:creator><pubDate>Sat, 14 Nov 2009 18:17:41 GMT</pubDate></item></channel></rss>