<?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[pfade leerzeichen und parameterübergabe]]></title><description><![CDATA[<p>hallo,<br />
ich verzweifle hier langsam.<br />
ich möchte eine exe datei aufrufen mit system.</p>
<p>habe folgenden code</p>
<pre><code class="language-cpp">string parameter=&quot;\&quot;cpu:&quot;;
parameter+=&quot;1&quot;;
parameter+=&quot;modellid:&quot;;
parameter+=id;
parameter+=&quot;steps:&quot;;
parameter+=&quot;1000&quot;;
parameter+=&quot;verzeichnis:&quot;;
parameter+=ziel;
parameter+=&quot;\&quot;&quot;;
stringstartaufruf=&quot;start /low &quot;+aktuellesVerzeichnis+&quot;\\Kammermodel.exe &quot;+parameter;
system(startaufruf.c_str());
</code></pre>
<p>wie mann sehen kann will ich einen parameter übergeben in dem ich einen einzelnen langen string übergebe. Das aufgerufene Programm holt sich dann die sachen aus diesem einen string.<br />
ich habe wie man sehen kann den string parameter am anfang und am ende mit &quot; eingeschlossen, trotzdem bekomme ich eine fehlermeldung vonwegen c:\dokumente konnte nicht gefunden werden. also der string wird nicht als einzelner parameter übergeben.<br />
die variable ziel hat den inhalt &quot;C:\Dokumente und Einstellungen\Test&quot;</p>
<p>wo mach ich hier was falsch?<br />
würde mich über hilfe freuen.</p>
<p>gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/241424/pfade-leerzeichen-und-parameterübergabe</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 09:47:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/241424.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 May 2009 13:18:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Wed, 20 May 2009 13:18:56 GMT]]></title><description><![CDATA[<p>hallo,<br />
ich verzweifle hier langsam.<br />
ich möchte eine exe datei aufrufen mit system.</p>
<p>habe folgenden code</p>
<pre><code class="language-cpp">string parameter=&quot;\&quot;cpu:&quot;;
parameter+=&quot;1&quot;;
parameter+=&quot;modellid:&quot;;
parameter+=id;
parameter+=&quot;steps:&quot;;
parameter+=&quot;1000&quot;;
parameter+=&quot;verzeichnis:&quot;;
parameter+=ziel;
parameter+=&quot;\&quot;&quot;;
stringstartaufruf=&quot;start /low &quot;+aktuellesVerzeichnis+&quot;\\Kammermodel.exe &quot;+parameter;
system(startaufruf.c_str());
</code></pre>
<p>wie mann sehen kann will ich einen parameter übergeben in dem ich einen einzelnen langen string übergebe. Das aufgerufene Programm holt sich dann die sachen aus diesem einen string.<br />
ich habe wie man sehen kann den string parameter am anfang und am ende mit &quot; eingeschlossen, trotzdem bekomme ich eine fehlermeldung vonwegen c:\dokumente konnte nicht gefunden werden. also der string wird nicht als einzelner parameter übergeben.<br />
die variable ziel hat den inhalt &quot;C:\Dokumente und Einstellungen\Test&quot;</p>
<p>wo mach ich hier was falsch?<br />
würde mich über hilfe freuen.</p>
<p>gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1713317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1713317</guid><dc:creator><![CDATA[mogli3]]></dc:creator><pubDate>Wed, 20 May 2009 13:18:56 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Wed, 20 May 2009 19:31:28 GMT]]></title><description><![CDATA[<p>Ein Wunder, dass du das so überhaupt durch den Compiler kriegst.. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> (will sagen, dass das sicher nicht kompiliert.. )</p>
<p>Wenn, dann mach es eher so:</p>
<pre><code class="language-cpp">std::stringstream parameter;
	parameter &lt;&lt; &quot;\&quot;cpu:1modellid:&quot; &lt;&lt; id &lt;&lt; &quot;steps:1000verzeichnis:&quot; &lt;&lt; ziel &lt;&lt; &quot;\&quot;&quot;;

	std::stringstream startaufruf;
	startaufruf &lt;&lt; &quot;start /low &quot; &lt;&lt; aktuellesVerzeichnis &lt;&lt; &quot;\\Kammermodel.exe &quot; &lt;&lt; parameter;

	system ( startaufruf.str ().c_str() );
</code></pre>
<p>Somit hast du den Vorteil, dass die Parameter irgendetwas sein können, solange es den <code>&lt;&lt;-Operator</code> unterstützt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1713517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1713517</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 20 May 2009 19:31:28 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:10:28 GMT]]></title><description><![CDATA[<p>hallo danke für die antwort,<br />
also bei mir kompiliert der das ohne weiters durch<br />
hab deins ausprobiert und es kommt folgende felhlermeldung</p>
<p>für diese zeile</p>
<pre><code class="language-cpp">parameter &lt;&lt; &quot;\&quot;cpu:1modellid:&quot; &lt;&lt; id &lt;&lt; &quot;steps:1000verzeichnis:&quot; &lt;&lt; ziel &lt;&lt; &quot;\&quot;&quot;; 

error C2297: '&lt;&lt;': Ungültig, da der rechte Operand vom Typ 'const char [16]' ist
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1714143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714143</guid><dc:creator><![CDATA[mogli3]]></dc:creator><pubDate>Fri, 22 May 2009 12:10:28 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:21:45 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Was benutzt du für einen Compiler?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714149</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 22 May 2009 12:21:45 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:33:17 GMT]]></title><description><![CDATA[<p>ohmann sorry, hab den header #include &lt;sstream&gt;<br />
nicht drin gehabt.<br />
denn hatte ich sonst überall nur in der klasse nicht.<br />
sorry und vielen dank probiers jetzt mal weiter aus ob das so geht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714158</guid><dc:creator><![CDATA[mogli3]]></dc:creator><pubDate>Fri, 22 May 2009 12:33:17 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:37:38 GMT]]></title><description><![CDATA[<p>Falls das nicht funktioniert, was drakon vorgeschlagen hat, denn ich sehe persönlich den Unterschied nicht, ausser dass es über einen langsameren <code>stringstream</code> geht, dann hätte ich gerne gewusst, was in der Variable <code>aktuellesVerzeichnis</code> drin steht.<br />
Ich wette irgendwas was mit &quot;c:\dokumente&quot; anfängt <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üssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714160</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 22 May 2009 12:37:38 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:40:16 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Ein Wunder, dass du das so überhaupt durch den Compiler kriegst..</p>
</blockquote>
<p>Wieso eigentlich nicht? Hier werden doch keine Zeiger addiert o.ä. (vorausgesetzt, aktuellesVerzeichnis ist ein std::string)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714163</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Fri, 22 May 2009 12:40:16 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:44:33 GMT]]></title><description><![CDATA[<p>Ich gehe mal davon aus, dass id kein string ist und daher gibt das nur Unsinn, wenn ein string und z.B ein integer addiert wird..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714168</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 22 May 2009 12:44:33 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:48:27 GMT]]></title><description><![CDATA[<p>ja also es geht auch mit stringstream nicht</p>
<p>aktuellesverzeichnis sieht folgendermaßen aus</p>
<pre><code class="language-cpp">char Buff[512];
						GetCurrentDirectory(512,Buff);
						string aktuellesVerzeichnis=(string)Buff;
</code></pre>
<p>in dem anderen programm das den parameter aufschlüssen soll mach ich das wie folgt</p>
<pre><code class="language-cpp">string parameter=GetCommandLine(); 

int verzeichnisindex=parameter.find(&quot;verzeichnis:&quot;);

string verzeichnis=t.substr(d+12,t.size());
</code></pre>
<p>und mit dem verzeichnis C:\Dokumente und Einstellungen hat er eben probleme.<br />
hatte ja versucht den string zusammenzuhalten mit anführungsstriche.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714173</guid><dc:creator><![CDATA[mogli3]]></dc:creator><pubDate>Fri, 22 May 2009 12:48:27 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:49:55 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Ich gehe mal davon aus, dass id kein string ist und daher gibt das nur Unsinn, wenn ein string und z.B ein integer addiert wird..</p>
</blockquote>
<p>doch alles string</p>
<pre><code class="language-cpp">void Dateienverwalter::starteKammermodellGenerator(string verzeichnis,string id,string ziel)
{						

						char Buff[512];
						GetCurrentDirectory(512,Buff);
						string aktuellesVerzeichnis=(string)Buff; 
							/*string cpu=&quot;\&quot;cpu:&quot;;
						cpu+=&quot;1&quot;;
						cpu+=&quot;modellid:&quot;;
						cpu+=id;
						cpu+=&quot;steps:&quot;;
						cpu+=&quot;1000&quot;;
						cpu+=&quot;verzeichnis:&quot;;
						cpu+=ziel;
						cpu+=&quot;\&quot;&quot;;
						string u=&quot;start /low &quot;+aktuellesVerzeichnis+&quot;\\Kammermodel.exe &quot;+cpu;
						//cpuModellZuordnung[aktuellecpu]=a.at(i).ModellID; //i=modellid	
						Sleep(2000); //damit kammermodelldatei geschrieben wird (verzögerung durch windows)
						system(u.c_str());
						*/
						std::stringstream parameter; 
						parameter &lt;&lt; &quot;\&quot;cpu:1modellid:&quot; &lt;&lt; id &lt;&lt; &quot;steps:1000verzeichnis:&quot; &lt;&lt; ziel &lt;&lt; &quot;\&quot;&quot;; 
						std::stringstream startaufruf; 
						startaufruf &lt;&lt; &quot;start /low &quot; &lt;&lt; aktuellesVerzeichnis &lt;&lt; &quot;\\Kammermodel.exe &quot; &lt;&lt; parameter; 
						Sleep(2000);
						system ( startaufruf.str ().c_str() ); 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1714176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714176</guid><dc:creator><![CDATA[mogli3]]></dc:creator><pubDate>Fri, 22 May 2009 12:49:55 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:50:34 GMT]]></title><description><![CDATA[<p>Warum haben alle so freude am casten???</p>
<pre><code class="language-cpp">string aktuellesVerzeichnis=(string)Buff;
</code></pre>
<p>Ist einfach falsch.<br />
Aus dem Buffer soll ein std::string konstruiert werden.</p>
<pre><code class="language-cpp">string aktuellesVerzeichnis(Buff);
</code></pre>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714178</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 22 May 2009 12:50:34 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:54:28 GMT]]></title><description><![CDATA[<p>theta schrieb:</p>
<blockquote>
<p>Warum haben alle so freude am casten???</p>
<pre><code class="language-cpp">string aktuellesVerzeichnis=(string)Buff;
</code></pre>
<p>Ist einfach falsch.<br />
Aus dem Buffer soll ein std::string konstruiert werden.</p>
<pre><code class="language-cpp">string aktuellesVerzeichnis(Buff);
</code></pre>
<p>Simon</p>
</blockquote>
<p>also nur weil ich vezweifelt bin hab ich das jetzt mal versucht, aber wie ich mir schon gedacht hatte hat das auch nicht funktioniert.<br />
hatte gehofft das dadurch der string &quot;ordentlich &quot; ist aber ne geht immer noch nicht.</p>
<p>wahrscheinlich sollte das auch nicht zu lösung beitragen oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714184</guid><dc:creator><![CDATA[mogli3]]></dc:creator><pubDate>Fri, 22 May 2009 12:54:28 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:56:35 GMT]]></title><description><![CDATA[<blockquote>
<p>wahrscheinlich sollte das auch nicht zu lösung beitragen oder?</p>
</blockquote>
<p>Nein, natürlich nicht... wie könnte ich auch...<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714186</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 22 May 2009 12:56:35 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:58:27 GMT]]></title><description><![CDATA[<p>theta schrieb:</p>
<blockquote>
<blockquote>
<p>wahrscheinlich sollte das auch nicht zu lösung beitragen oder?</p>
</blockquote>
<p>Nein, natürlich nicht... wie könnte ich auch...<br />
Simon</p>
</blockquote>
<p>ja hätte ja sein können</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714189</guid><dc:creator><![CDATA[mogli3]]></dc:creator><pubDate>Fri, 22 May 2009 12:58:27 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 12:59:59 GMT]]></title><description><![CDATA[<p>@mogli3,<br />
Ich wiederhole mich, was ist in <code>aktuellesVerzeichnis</code> drin? Was steht dort drin? Meiner Meinung nach beklagt sich nämlich das Shellkommando <code>start</code> über falsche Parameter.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714191</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 22 May 2009 12:59:59 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 13:03:42 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>@mogli3,<br />
Ich wiederhole mich, was ist in <code>aktuellesVerzeichnis</code> drin? Was steht dort drin? Meiner Meinung nach beklagt sich nämlich das Shellkommando <code>start</code> über falsche Parameter.</p>
<p>Grüssli</p>
</blockquote>
<pre><code class="language-cpp">aktuellesVerzeichnis=&quot;c:\Dokumente und Einstellungen\user\Eigene Dateien\Visual Studio 2008\Projects\Kammermodelle Batch\Kammermodelle Batch&quot;	

typ=std::basic_string&lt;char,std::char_traits&lt;char&gt;,std::allocator&lt;char&gt; &gt;
</code></pre>
<p>also soweit ich mein ist das einfach das aktuelleverzeichnis zufällig in einem pfad mit leerzeichen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714196</guid><dc:creator><![CDATA[mogli3]]></dc:creator><pubDate>Fri, 22 May 2009 13:03:42 GMT</pubDate></item><item><title><![CDATA[Reply to pfade leerzeichen und parameterübergabe on Fri, 22 May 2009 13:22:57 GMT]]></title><description><![CDATA[<p>mogli3 schrieb:</p>
<blockquote>
<p>also soweit ich mein ist das einfach das aktuelleverzeichnis zufällig in einem pfad mit leerzeichen</p>
</blockquote>
<p>Und genau das ist das Problem. Das Kommando <code>start</code> erwarte ja auch Parameter und das Kommando trennt die Parameter über die Leezreichen. Dein ursprünglicher Code, etwas abgeändert:</p>
<pre><code class="language-cpp">string parameter=&quot;\&quot;cpu:&quot;; 
parameter+=&quot;1&quot;; 
parameter+=&quot;modellid:&quot;; 
parameter+=id; 
parameter+=&quot;steps:&quot;; 
parameter+=&quot;1000&quot;; 
parameter+=&quot;verzeichnis:&quot;; 
parameter+=ziel; 
parameter+=&quot;\&quot;&quot;; 
stringstartaufruf=&quot;start /low \&quot;&quot;+aktuellesVerzeichnis+&quot;\\Kammermodel.exe\&quot; &quot;+parameter; // &lt;- Gänsefüsschen um den Pfad für das Programm gemacht.
system(startaufruf.c_str());
</code></pre>
<p>Wenn ich übrigens schon dabei bin:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39453.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39453.html</a></p>
<p>Du benutzt zudem schon die WinAPI, daher könntest du auch gleich <code>ShellExecute</code> oder <code>CreateProcess</code> verwenden.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714222</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 22 May 2009 13:22:57 GMT</pubDate></item></channel></rss>