<?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[Zeichenkettenkonstante in »LPSTR {aka char*}]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Bin ziemlich neu bei C++ habe bis jetzt Java und C# entwickelt. Habe nun ein Problem bei aufrufen einer Methode.</p>
<p>und zwar versuche ich folgendes:</p>
<pre><code class="language-cpp">try {
        STARTUPINFOA * stinfo = new STARTUPINFOA;
        PROCESS_INFORMATION info ;
      CreateProcess(NULL,TEXT(&quot;notepad.exe&quot;),NULL,NULL,true,0x00000008,
    		  NULL,NULL,stinfo,&amp;info);

             WaitForSingleObject( info.hProcess, INFINITE );
</code></pre>
<p>leider meldet der Compiler folgendes Problem:</p>
<pre><code>..\main.cpp:55:94: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »LPSTR {aka char*}« [-Wwrite-strings]
</code></pre>
<p>Wäre froh wenn mir kurz jemand erläutern könnte was ich bei diesem Aufruf falsch mache.</p>
<p>Danke und Gruss<br />
Lizyulis</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/300420/zeichenkettenkonstante-in-lpstr-aka-char</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 20:21:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/300420.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Mar 2012 10:44:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeichenkettenkonstante in »LPSTR {aka char*} on Sat, 03 Mar 2012 10:44:43 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Bin ziemlich neu bei C++ habe bis jetzt Java und C# entwickelt. Habe nun ein Problem bei aufrufen einer Methode.</p>
<p>und zwar versuche ich folgendes:</p>
<pre><code class="language-cpp">try {
        STARTUPINFOA * stinfo = new STARTUPINFOA;
        PROCESS_INFORMATION info ;
      CreateProcess(NULL,TEXT(&quot;notepad.exe&quot;),NULL,NULL,true,0x00000008,
    		  NULL,NULL,stinfo,&amp;info);

             WaitForSingleObject( info.hProcess, INFINITE );
</code></pre>
<p>leider meldet der Compiler folgendes Problem:</p>
<pre><code>..\main.cpp:55:94: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »LPSTR {aka char*}« [-Wwrite-strings]
</code></pre>
<p>Wäre froh wenn mir kurz jemand erläutern könnte was ich bei diesem Aufruf falsch mache.</p>
<p>Danke und Gruss<br />
Lizyulis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187925</guid><dc:creator><![CDATA[Lizyulis]]></dc:creator><pubDate>Sat, 03 Mar 2012 10:44:43 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenkettenkonstante in »LPSTR {aka char*} on Sat, 03 Mar 2012 11:13:09 GMT]]></title><description><![CDATA[<p>Das 2. Argument von CreateProcess(..) muss beschreibar sein, also kein String Literal.<br />
<a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx</a></p>
<p>Edit:<br />
Für das 2. Argument kannst Du sowas machen:</p>
<pre><code class="language-cpp">TCHAR commandLine[] = _T(&quot;notepad.exe&quot;);
</code></pre>
<p>Edit:<br />
Ausserdem sind da wohl noch ein paar Java Angewohnheiten zu erkennen:<br />
1. Wofür ist das try ? CreateProcess(..) und die anderern Win32 API Funktionen werfen keine C++ Exceptions.<br />
2. new wird in C++ nicht oft verwendet oder nur versteckt. Konkret bedeutet das in deinem Fall, dass STARTUPINFO auch als automatische Variable angelegt werden kann und soll (ausserdem sollte STARTUPINFO und nicht die Version mit A oder W verwendet werden, das erledigen die Win32 API Makros):</p>
<pre><code class="language-cpp">STARTUPINFO startupInfo = {}; // Gleich Initialisieren.
//...
CreateProcess(... &amp;startupInfo ...)
</code></pre>
<p>3. CloseHandle(..) bei hThread und hProcess von PROCESS_INFORMATION nicht vergessen. Du hast den Code nicht gezeigt - aber es geht oft vergessen.<br />
4. Return Werte prüfen - von CreateProcess(..), WaitForSingleObject(..), etc.</p>
<p>Edit: Am besten liest Du dir die verlinkte Doku ganz genau durch. Z.B. muss der Member cb von STARTUPINFO mit sizeof(STARTUPINFO) initialisiert werden, etc.etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187929</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sat, 03 Mar 2012 11:13:09 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenkettenkonstante in »LPSTR {aka char*} on Sat, 03 Mar 2012 11:37:22 GMT]]></title><description><![CDATA[<p>Hi Theta</p>
<p>Danke dir für Deine schnelle Antwort. Ist woll so das ich die Java bzw. C# angewonnheiten noch nicht abgelegt habe!:-)</p>
<p>Danke für den Link und für die Erklärung.</p>
<pre><code class="language-cpp">STARTUPINFOA stinfo = {};
        PROCESS_INFORMATION  info = {};
        TCHAR t[] = _T(&quot;notepad.exe&quot;);
      CreateProcess(NULL,&amp;t,NULL,NULL,true,0x00000008,
    		  NULL,NULL,stinfo,&amp;info);

             WaitForSingleObject( info.hProcess, INFINITE );
</code></pre>
<pre><code>..\main.cpp:58:31: Fehler: »TCHAR (*)[12] {aka char (*)[12]}« kann nicht nach »LPSTR {aka char*}« für Argument »2« nach »BOOL CreateProcessA(LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION)« umgewandelt werden
</code></pre>
<p>Leider immer noch ein Fehler. Muss glaube ich nochmals über dir Bücher.</p>
<p>Gruss<br />
Lizyulis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187937</guid><dc:creator><![CDATA[Lizyulis]]></dc:creator><pubDate>Sat, 03 Mar 2012 11:37:22 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenkettenkonstante in »LPSTR {aka char*} on Sat, 03 Mar 2012 11:45:52 GMT]]></title><description><![CDATA[<p><code>&amp;t</code> soll <code>t</code> sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187948</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Sat, 03 Mar 2012 11:45:52 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichenkettenkonstante in »LPSTR {aka char*} on Sat, 03 Mar 2012 11:49:13 GMT]]></title><description><![CDATA[<p>Super danke jetzt klappt es. Hmm... sollte mir glaub ein Buch holen und mich ein bisschen vertiefen in die Materie. <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>Gruss<br />
Lizyulis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187950</guid><dc:creator><![CDATA[Lizyulis]]></dc:creator><pubDate>Sat, 03 Mar 2012 11:49:13 GMT</pubDate></item></channel></rss>