<?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[C-String in einen LPCWSTR konvertieren]]></title><description><![CDATA[<p>bei der WinAPI gibts ja, wie ich gerade festgestellt hab, sehr viele versch. datentypen für strings, alle dann auch noch als const und jede klasse/funktion braucht irgendwelche anderen... ich hab mich mal in der msdn umgeschaut und den atl header gefunden. zuerst mal: bin ich da bei der richtigen adresse gelandet? jetzt versuche ich den header mittels #include &lt;atl/atlconv.h&gt; einzubinden, erhalte aber immer folgenden fehler:</p>
<blockquote>
<p>1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atl\atlconv.h(18) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: &quot;atldef.h&quot;: No such file or directory</p>
</blockquote>
<p>man beachte dass hinten ein anderer dateiname steht als den, den ich eigentlich einbinden wollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/176777/c-string-in-einen-lpcwstr-konvertieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 17:27:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/176777.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 24 Mar 2007 20:05:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C-String in einen LPCWSTR konvertieren on Sat, 24 Mar 2007 20:05:14 GMT]]></title><description><![CDATA[<p>bei der WinAPI gibts ja, wie ich gerade festgestellt hab, sehr viele versch. datentypen für strings, alle dann auch noch als const und jede klasse/funktion braucht irgendwelche anderen... ich hab mich mal in der msdn umgeschaut und den atl header gefunden. zuerst mal: bin ich da bei der richtigen adresse gelandet? jetzt versuche ich den header mittels #include &lt;atl/atlconv.h&gt; einzubinden, erhalte aber immer folgenden fehler:</p>
<blockquote>
<p>1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atl\atlconv.h(18) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: &quot;atldef.h&quot;: No such file or directory</p>
</blockquote>
<p>man beachte dass hinten ein anderer dateiname steht als den, den ich eigentlich einbinden wollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251865</guid><dc:creator><![CDATA[jimmy3]]></dc:creator><pubDate>Sat, 24 Mar 2007 20:05:14 GMT</pubDate></item><item><title><![CDATA[Reply to C-String in einen LPCWSTR konvertieren on Sat, 24 Mar 2007 20:09:45 GMT]]></title><description><![CDATA[<p>jimmy3 schrieb:</p>
<blockquote>
<p>man beachte dass hinten ein anderer dateiname steht als den, den ich eigentlich einbinden wollte.</p>
</blockquote>
<p>das ist nichts ungewöhnliches, wenn eine 'include'-datei andere dateien #includieren will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251867</guid><dc:creator><![CDATA[vista]]></dc:creator><pubDate>Sat, 24 Mar 2007 20:09:45 GMT</pubDate></item><item><title><![CDATA[Reply to C-String in einen LPCWSTR konvertieren on Sat, 24 Mar 2007 20:34:14 GMT]]></title><description><![CDATA[<p>also um nochmal zur ersten frage zu kommen: ist das denn so überhaupt die richtige lösung mit diesen Makros oder gibts da nicht was einfacheres wie TEXT(quote)?<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/15258">@vista</a>: stimmt, danke, hätt ich auch drauf kommen können <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> . in atlconv.h steht #include &lt;atlbase.h&gt; was relativ zum include pfad natürlich nicht stimmt. hab ich da was in einen falschen ordner kopiert oder ist da einfach die pfadangabe falsch (entsprechend durch umändern in #include &lt;atl\altbase.h&gt; könnte mans ändern aber das müsste ich dann ja bei allen atl's machen)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251881</guid><dc:creator><![CDATA[jimmy3]]></dc:creator><pubDate>Sat, 24 Mar 2007 20:34:14 GMT</pubDate></item><item><title><![CDATA[Reply to C-String in einen LPCWSTR konvertieren on Sat, 24 Mar 2007 22:39:29 GMT]]></title><description><![CDATA[<p>Die meisten WinAPI-Funktionen (Ich zähle mal COM-Zeugs und so nicht dazu) gibt es sowohl als ANSI-Funktion als auch als Unicode-Funktion.</p>
<p>z.B. existiert GetWindowText() als GetWindowTextA() und GetWindowTextW()<br />
Je nachdem ob das UNICODE-Makro definiert ist, wird aus den WinAPI-Headern die jeweilige Version ausgesucht (wenn man es nicht selbst macht)</p>
<p>Einige Dinge wie GDI+ können nur noch Unicode.<br />
Windows NT, 2000, XP, Vista verwendet intern nur Unicode. (GetWindowTextA() ist da quasi ne Dummy-Funktion)</p>
<p>Umwandeln von Ansi nach Unicode:<br />
<a href="http://support.microsoft.com/?scid=kb%3Ben-us%3B138813&amp;x=14&amp;y=10" rel="nofollow">http://support.microsoft.com/?scid=kb%3Ben-us%3B138813&amp;x=14&amp;y=10</a></p>
<p>Vermutlich auch interessant:<br />
<a href="http://www.flounder.com/cstring.htm#Unicode%20and%20CStrings" rel="nofollow">http://www.flounder.com/cstring.htm#Unicode and CStrings</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251955</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sat, 24 Mar 2007 22:39:29 GMT</pubDate></item><item><title><![CDATA[Reply to C-String in einen LPCWSTR konvertieren on Sun, 25 Mar 2007 10:39:26 GMT]]></title><description><![CDATA[<p>ich habs gerade nochmal mit hilfe von atl versucht und einfach alle dateien von include\atl in include kopiert aber was dabei rauskam war dann eine fehlermeldung die 37 neue fehler umfasste, vor allem kam ~20 mal</p>
<blockquote>
<p>&quot;_ASSERTE&quot;: Bezeichner wurde nicht gefunden.</p>
</blockquote>
<p>was mache ich denn falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1252106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1252106</guid><dc:creator><![CDATA[jimmy3]]></dc:creator><pubDate>Sun, 25 Mar 2007 10:39:26 GMT</pubDate></item><item><title><![CDATA[Reply to C-String in einen LPCWSTR konvertieren on Sun, 25 Mar 2007 10:56:46 GMT]]></title><description><![CDATA[<p>#include &lt;crtdbg.h&gt; hat das problem vorerst mal behoben, da ist _ASSERTE nämlich definiert jetzt ist nur noch das übrig geblieben:</p>
<blockquote>
<p>1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(701) : error C2275: 'DEVMODEW': Ungültige Verwendung dieses Typs als Ausdruck<br />
1&gt; C:\Programme\Microsoft Visual Studio 8\VC\include\wingdi.h(1982): Siehe Deklaration von 'DEVMODEW'<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(701) : error C2065: 'dmFormName': nichtdeklarierter Bezeichner<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(701) : error C2275: 'DEVMODEW': Ungültige Verwendung dieses Typs als Ausdruck<br />
1&gt; C:\Programme\Microsoft Visual Studio 8\VC\include\wingdi.h(1982): Siehe Deklaration von 'DEVMODEW'<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(701) : error C2065: 'dmSpecVersion': nichtdeklarierter Bezeichner<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(701) : error C3861: &quot;offsetof&quot;: Bezeichner wurde nicht gefunden.<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(701) : error C3861: &quot;offsetof&quot;: Bezeichner wurde nicht gefunden.<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(704) : error C2275: 'DEVMODEW': Ungültige Verwendung dieses Typs als Ausdruck<br />
1&gt; C:\Programme\Microsoft Visual Studio 8\VC\include\wingdi.h(1982): Siehe Deklaration von 'DEVMODEW'<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(704) : error C2065: 'dmLogPixels': nichtdeklarierter Bezeichner<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(704) : error C3861: &quot;offsetof&quot;: Bezeichner wurde nicht gefunden.<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(900) : error C2275: 'DEVMODEA': Ungültige Verwendung dieses Typs als Ausdruck<br />
1&gt; C:\Programme\Microsoft Visual Studio 8\VC\include\wingdi.h(1928): Siehe Deklaration von 'DEVMODEA'<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(900) : error C2275: 'DEVMODEA': Ungültige Verwendung dieses Typs als Ausdruck<br />
1&gt; C:\Programme\Microsoft Visual Studio 8\VC\include\wingdi.h(1928): Siehe Deklaration von 'DEVMODEA'<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(900) : error C3861: &quot;offsetof&quot;: Bezeichner wurde nicht gefunden.<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(900) : error C3861: &quot;offsetof&quot;: Bezeichner wurde nicht gefunden.<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(903) : error C2275: 'DEVMODEA': Ungültige Verwendung dieses Typs als Ausdruck<br />
1&gt; C:\Programme\Microsoft Visual Studio 8\VC\include\wingdi.h(1928): Siehe Deklaration von 'DEVMODEA'<br />
1&gt;C:\Programme\Microsoft Visual Studio 8\VC\include\atlconv.h(903) : error C3861: &quot;offsetof&quot;: Bezeichner wurde nicht gefunden.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /><br />
selten sonen müll gesehn</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1252118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1252118</guid><dc:creator><![CDATA[jimmy3]]></dc:creator><pubDate>Sun, 25 Mar 2007 10:56:46 GMT</pubDate></item><item><title><![CDATA[Reply to C-String in einen LPCWSTR konvertieren on Sun, 25 Mar 2007 13:05:19 GMT]]></title><description><![CDATA[<p>ich will doch nur eine LPCSTR in eine LPCWSTR konvertieren, ist das nicht ein alltägliches WinApi problem???<br />
kennt da keine eine antwort drauf? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1252205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1252205</guid><dc:creator><![CDATA[jimmy3]]></dc:creator><pubDate>Sun, 25 Mar 2007 13:05:19 GMT</pubDate></item><item><title><![CDATA[Reply to C-String in einen LPCWSTR konvertieren on Sun, 25 Mar 2007 13:21:21 GMT]]></title><description><![CDATA[<p>Das ist kein Problem ...</p>
<pre><code class="language-cpp">char array_char[128];
_snprintf(array_char, 128, &quot;Das ist ein Test ...&quot;); 
// Also der String den du in WideChar haben willst ...

wchar_t* item = new wchar_t[string.length() + 1]; 
if (!MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, array_char, static_cast&lt;int&gt;(strlen(array_char) + 1), item, sizeof(item) / sizeof(item[0])))
{
	delete [] item;
	return false;
}

// Jetzt steht in item dein Text drin ...
// am ende wieder freigeben ...
delete [] item;
</code></pre>
<p>aja ..</p>
<pre><code class="language-cpp">bool c_to_wc(const std::string&amp; string, std::wstring&amp; dest)
{
	wchar_t* item = new wchar_t[string.length() + 1]; 
	if (!MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, string.c_str(), static_cast&lt;int&gt;(string.length() + 1), item, sizeof(item) / sizeof(item[0])))
	{
		dest = L&quot;&quot;;
		delete [] item;
		return false;
	}

	dest = item;
	delete [] item;
	return true;
}
</code></pre>
<p><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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1252210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1252210</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 25 Mar 2007 13:21:21 GMT</pubDate></item><item><title><![CDATA[Reply to C-String in einen LPCWSTR konvertieren on Sun, 25 Mar 2007 14:09:56 GMT]]></title><description><![CDATA[<p>sowas hab ich gesucht, vielen dank!<br />
ich werds gleich mal ausprobieren <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1252236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1252236</guid><dc:creator><![CDATA[jimmy3]]></dc:creator><pubDate>Sun, 25 Mar 2007 14:09:56 GMT</pubDate></item></channel></rss>