<?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[Simple Ausgabe wird zu herausforderung.]]></title><description><![CDATA[<p>Hallo,</p>
<p>Am Anfang wollte ich einen Besipielcode für eine &quot;Prozessansicht&quot;, doch was bei VC++ 6 noch ein einfach Spiel ist, wird bei VC++2005 anscheinend zu einer herausforderung, oder ich bin einfach nur zu ....</p>
<p>Den Beispielcode hatte ich schnell in der MSDN gefunden und in ein neues Projekt eingefügt. Doch bei der Compilierung des Beispielcodes von MS gab es schon einige Compilererrors - Typcast errors. Diese Fehler behob ich, doch die Programmausgabe hat danach nicht mehr gestimmt - es wurde immer nur das erste Zeichen ausgeben.</p>
<p>PROCESSENTRY32 pe32</p>
<p>typedef struct tagPROCESSENTRY32 {<br />
DWORD dwSize;<br />
DWORD cntUsage;<br />
DWORD th32ProcessID;<br />
ULONG_PTR th32DefaultHeapID;<br />
DWORD th32ModuleID;<br />
DWORD cntThreads;<br />
DWORD th32ParentProcessID;<br />
LONG pcPriClassBase;<br />
DWORD dwFlags;<br />
TCHAR szExeFile[MAX_PATH];<br />
} PROCESSENTRY32</p>
<p>Ich möchte die Varibale szExeFile ausgeben, aber printf und cout geben mir immer nur das erste Zeichen aus.</p>
<p>typedef WCHAR TCHAR;<br />
Also ist TCHAR = WHAR</p>
<p>In der MSDN hab ich dann eine funktion zur Ausgabe von UNICODE gefunden:<br />
wprintf.</p>
<p>Doch Gebe ich den TCHAR string als parameter an, bekomme ich folgende Meldung:</p>
<p>error C2664: 'wprintf' : cannot convert parameter 1 from 'const char [10]' to 'const wchar_t *'</p>
<p>Anscheinend ist der &quot;TCHAR szExeFile[MAX_PATH];&quot; string ein 'const char [10]' !?!?!</p>
<p>Wenn ich den string nun Byteweise ausgebe geht es , aber dafür muss es doch auch eine FUnktion geben, um &quot;WCHAR&quot; bzw &quot;TCHAR&quot; Strings auszugeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/143443/simple-ausgabe-wird-zu-herausforderung</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Jul 2026 10:51:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/143443.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 08 Apr 2006 15:28:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Simple Ausgabe wird zu herausforderung. on Sat, 08 Apr 2006 15:28:25 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Am Anfang wollte ich einen Besipielcode für eine &quot;Prozessansicht&quot;, doch was bei VC++ 6 noch ein einfach Spiel ist, wird bei VC++2005 anscheinend zu einer herausforderung, oder ich bin einfach nur zu ....</p>
<p>Den Beispielcode hatte ich schnell in der MSDN gefunden und in ein neues Projekt eingefügt. Doch bei der Compilierung des Beispielcodes von MS gab es schon einige Compilererrors - Typcast errors. Diese Fehler behob ich, doch die Programmausgabe hat danach nicht mehr gestimmt - es wurde immer nur das erste Zeichen ausgeben.</p>
<p>PROCESSENTRY32 pe32</p>
<p>typedef struct tagPROCESSENTRY32 {<br />
DWORD dwSize;<br />
DWORD cntUsage;<br />
DWORD th32ProcessID;<br />
ULONG_PTR th32DefaultHeapID;<br />
DWORD th32ModuleID;<br />
DWORD cntThreads;<br />
DWORD th32ParentProcessID;<br />
LONG pcPriClassBase;<br />
DWORD dwFlags;<br />
TCHAR szExeFile[MAX_PATH];<br />
} PROCESSENTRY32</p>
<p>Ich möchte die Varibale szExeFile ausgeben, aber printf und cout geben mir immer nur das erste Zeichen aus.</p>
<p>typedef WCHAR TCHAR;<br />
Also ist TCHAR = WHAR</p>
<p>In der MSDN hab ich dann eine funktion zur Ausgabe von UNICODE gefunden:<br />
wprintf.</p>
<p>Doch Gebe ich den TCHAR string als parameter an, bekomme ich folgende Meldung:</p>
<p>error C2664: 'wprintf' : cannot convert parameter 1 from 'const char [10]' to 'const wchar_t *'</p>
<p>Anscheinend ist der &quot;TCHAR szExeFile[MAX_PATH];&quot; string ein 'const char [10]' !?!?!</p>
<p>Wenn ich den string nun Byteweise ausgebe geht es , aber dafür muss es doch auch eine FUnktion geben, um &quot;WCHAR&quot; bzw &quot;TCHAR&quot; Strings auszugeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1033305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1033305</guid><dc:creator><![CDATA[DerDStu]]></dc:creator><pubDate>Sat, 08 Apr 2006 15:28:25 GMT</pubDate></item><item><title><![CDATA[Reply to Simple Ausgabe wird zu herausforderung. on Sat, 08 Apr 2006 16:04:29 GMT]]></title><description><![CDATA[<p>Eigentlich sollte das ganz normal gehen, indem du von der Struktur auf szExeFile zugreifst. Wie stellst du es denn an? Und wo willst du es überhaupt ausgeben (MessageBox, Konsole, normales Fenster, Edit-Box)?</p>
<p>BTW: Ein TCHAR ist wenn die Konstante UNICODE bzw. _UNICODE nicht definiert ist ein CHAR...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1033331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1033331</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sat, 08 Apr 2006 16:04:29 GMT</pubDate></item><item><title><![CDATA[Reply to Simple Ausgabe wird zu herausforderung. on Sat, 08 Apr 2006 16:13:05 GMT]]></title><description><![CDATA[<p>auf der Console....</p>
<p>in VC++ 6 ging es Fehlerfrei mit : printf( &quot;\nPROCESS NAME: %s&quot;, pe32.szExeFile );</p>
<p>Aber in VC++ 8.0 wird nur der erste buchstaben ausgegeben.</p>
<p>mit: cout &lt;&lt; pe32.szExeFile &lt;&lt; endl;<br />
wird nur die Adresse ausgegeben.</p>
<p>und mit: cout &lt;&lt; (char <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title="*)"
      alt="😉"
    /> pe32.szExeFile &lt;&lt; endl;<br />
gibt er nur das erste Zeichen aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1033344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1033344</guid><dc:creator><![CDATA[DerDStu]]></dc:creator><pubDate>Sat, 08 Apr 2006 16:13:05 GMT</pubDate></item><item><title><![CDATA[Reply to Simple Ausgabe wird zu herausforderung. on Sat, 08 Apr 2006 17:57:46 GMT]]></title><description><![CDATA[<p>So klappt es bei mir:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows.h&gt;
#include &lt;tlhelp32.h&gt;
using namespace std;

int main()
{
	PROCESSENTRY32 proc;
	HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
	proc.dwSize = sizeof(proc);

	Process32First(hSnapshot,&amp;proc);

	while(Process32Next(hSnapshot,&amp;proc))
		wprintf(L&quot;%s \n&quot;,proc.szExeFile);

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1033384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1033384</guid><dc:creator><![CDATA[qasdfgh]]></dc:creator><pubDate>Sat, 08 Apr 2006 17:57:46 GMT</pubDate></item><item><title><![CDATA[Reply to Simple Ausgabe wird zu herausforderung. on Sun, 09 Apr 2006 11:25:09 GMT]]></title><description><![CDATA[<p>tatsache...<br />
aber da ist doch auch wieder nen Wiedersprch drin.<br />
Denn _UNICODE wurde ja nicht definiert, d.h das ist ein normaler Char-String.<br />
Aber du gibt ihn mit wprintg aus.</p>
<p>Und was hat eigentlich das &quot;L&quot; zu sagen? (wprintf(L&quot;%s \n&quot;,proc.szExeFile))</p>
<p>Ist das nen Typcastmakro?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1033693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1033693</guid><dc:creator><![CDATA[DerDStu]]></dc:creator><pubDate>Sun, 09 Apr 2006 11:25:09 GMT</pubDate></item><item><title><![CDATA[Reply to Simple Ausgabe wird zu herausforderung. on Sun, 09 Apr 2006 12:19:53 GMT]]></title><description><![CDATA[<p>Ich gehe davon aus, dass UNICODE standardmäßig definiert ist.</p>
<p>Wenn man nicht sicher ist, kann man _tprintf() mit TCHAR benutzen.</p>
<p>Das L bedeuted, dass der folgende String ein UNICODE-String ist, man kann aber hier auch TEXT(&quot; &quot;) oder _T(&quot; &quot;) verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1033721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1033721</guid><dc:creator><![CDATA[qasdfgh]]></dc:creator><pubDate>Sun, 09 Apr 2006 12:19:53 GMT</pubDate></item></channel></rss>