<?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[Extract path]]></title><description><![CDATA[<p>Hallo,<br />
ich habe einen Dateipfad als std::string und möchte jetzt nur den Pfad zum Ordner haben. Also habe mir dazu folgende Funktion geschrieben.</p>
<pre><code class="language-cpp">string Dir(string in)
{	
  string path;

	for(int i = in.size();; i--)
	{
		if(in[i] == '\\')
		{
			for(int j = 0; j &lt;= i+1; j++)
			{
				path[j] = in[j];  
			}
			break;
		}
     }
  return path;
}
</code></pre>
<p>Beim 2. Durchlauf der 2. for-Schleife bekomme ich einen Fehler <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=":/"
      alt="😕"
    /><br />
(in[j] ist dann grade ':').</p>
<blockquote>
<p>Expression: string subscript out of range</p>
</blockquote>
<p>Kann mir Jemand sagen was ich falsch gemacht habe?</p>
<p>chrises :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/256097/extract-path</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 17:25:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256097.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Dec 2009 08:09:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Extract path on Tue, 08 Dec 2009 08:09:15 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe einen Dateipfad als std::string und möchte jetzt nur den Pfad zum Ordner haben. Also habe mir dazu folgende Funktion geschrieben.</p>
<pre><code class="language-cpp">string Dir(string in)
{	
  string path;

	for(int i = in.size();; i--)
	{
		if(in[i] == '\\')
		{
			for(int j = 0; j &lt;= i+1; j++)
			{
				path[j] = in[j];  
			}
			break;
		}
     }
  return path;
}
</code></pre>
<p>Beim 2. Durchlauf der 2. for-Schleife bekomme ich einen Fehler <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=":/"
      alt="😕"
    /><br />
(in[j] ist dann grade ':').</p>
<blockquote>
<p>Expression: string subscript out of range</p>
</blockquote>
<p>Kann mir Jemand sagen was ich falsch gemacht habe?</p>
<p>chrises :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1819392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1819392</guid><dc:creator><![CDATA[Chrises]]></dc:creator><pubDate>Tue, 08 Dec 2009 08:09:15 GMT</pubDate></item><item><title><![CDATA[Reply to Extract path on Tue, 08 Dec 2009 08:23:49 GMT]]></title><description><![CDATA[<p>Du fängst schon im ersten Durchlauf falsch an. Du musst i auf size()-1 setzen (du fängst ja bei 0 an zu zählen, geht ein String der Größe 10 bis zum Index 9).</p>
<p>Du könntest es auch einfacher machen:</p>
<pre><code class="language-cpp">string path=in.substr(0,in.find_last_of('\\'));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1819395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1819395</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 08 Dec 2009 08:23:49 GMT</pubDate></item><item><title><![CDATA[Reply to Extract path on Tue, 08 Dec 2009 08:24:38 GMT]]></title><description><![CDATA[<p>ohh ist mir granicht aufgefallen. Danke! <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1819398</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1819398</guid><dc:creator><![CDATA[Chrises]]></dc:creator><pubDate>Tue, 08 Dec 2009 08:24:38 GMT</pubDate></item><item><title><![CDATA[Reply to Extract path on Tue, 08 Dec 2009 08:27:49 GMT]]></title><description><![CDATA[<p>Was funktioniert nicht?</p>
<p>Deine Schleife könnte z.B. so aussehen:</p>
<pre><code class="language-cpp">for(int j = 0; j &lt;= i; j++)
{
	path.append(1,in[j]);  
}
break;
</code></pre>
<p>So würde es zumindest klappen. Aber das wäre wie von hinten durch die Brust... <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/1819399</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1819399</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 08 Dec 2009 08:27:49 GMT</pubDate></item></channel></rss>