<?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[Frage zu: vector&amp;lt;string&amp;gt; und strchr]]></title><description><![CDATA[<p>Hallo liebe Community,</p>
<p>mit meinem Programm lese ich den Inhalt eines Ordners aus und lege die einzelnen Objekte in einem vector&lt;string&gt; ab. Nun möchte ich aber wissen ob es sich um eine Datei oder einen Unterordner handelt. Deswegen bin ich auf die Idee gekommen, das ganze mit strchr oder strstr auszulesen.</p>
<pre><code class="language-cpp">vector&lt;string&gt; StoredFiles;

...

for(unsigned int x = 0; x &lt; StoredFiles.size(); x++) 
{
// Das war meine Idee, klappt aber nicht ... :-(
    char * tmpchr = strstr(StoredFiles[x], '.');
    if(tmpchr == NULL)
    {
	cout &lt;&lt; &quot;check&quot; &lt;&lt; endl;
    }
}

...
</code></pre>
<p>Da ich hier grad etwas hänge wäre ich für einen konstruktiven Lösungsvorschlag sehr dankbar. Außerdem würde mich noch interessieren, wieso obiges Beispiel nict klappt.</p>
<p>Dankö im voraus,</p>
<p>Grüßle Rille</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/282239/frage-zu-vector-lt-string-gt-und-strchr</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 08:57:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/282239.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 16 Feb 2011 13:50:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu: vector&amp;lt;string&amp;gt; und strchr on Wed, 16 Feb 2011 13:50:03 GMT]]></title><description><![CDATA[<p>Hallo liebe Community,</p>
<p>mit meinem Programm lese ich den Inhalt eines Ordners aus und lege die einzelnen Objekte in einem vector&lt;string&gt; ab. Nun möchte ich aber wissen ob es sich um eine Datei oder einen Unterordner handelt. Deswegen bin ich auf die Idee gekommen, das ganze mit strchr oder strstr auszulesen.</p>
<pre><code class="language-cpp">vector&lt;string&gt; StoredFiles;

...

for(unsigned int x = 0; x &lt; StoredFiles.size(); x++) 
{
// Das war meine Idee, klappt aber nicht ... :-(
    char * tmpchr = strstr(StoredFiles[x], '.');
    if(tmpchr == NULL)
    {
	cout &lt;&lt; &quot;check&quot; &lt;&lt; endl;
    }
}

...
</code></pre>
<p>Da ich hier grad etwas hänge wäre ich für einen konstruktiven Lösungsvorschlag sehr dankbar. Außerdem würde mich noch interessieren, wieso obiges Beispiel nict klappt.</p>
<p>Dankö im voraus,</p>
<p>Grüßle Rille</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2021806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2021806</guid><dc:creator><![CDATA[Rille]]></dc:creator><pubDate>Wed, 16 Feb 2011 13:50:03 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu: vector&amp;lt;string&amp;gt; und strchr on Wed, 16 Feb 2011 14:05:37 GMT]]></title><description><![CDATA[<p>Ganz einfache, offensichtliche Lösung: Nicht strchr oder strstr oder sonst etwas aus der cstring benutzen. Wie kommst du überhaupt auf diesen Unsinn? Nimm doch die Funktionen der Stringklasse!</p>
<p>Und warum das nicht klappt: Wie sollte es? Ein std::string ist kein Nullterminiertes char-Array was strstr erwartet. Mit string::c_str() kannst du so etwas erhalten. Aber so ein Vorgehen ist komplett sinnlos, weil std::string das alles schon kann. Was hier konkret passiert ist, dass du das strstr auf die internen Datenstrukturen des strings losgelassen hat, die strstr nun als nullterminiertes char-Array interpretiert. Allgemeine Heiterkeit folgt. Die eigentlichen Nutzdaten des Strings hätten aber ganz woanders gelegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2021810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2021810</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 16 Feb 2011 14:05:37 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu: vector&amp;lt;string&amp;gt; und strchr on Wed, 16 Feb 2011 13:55:19 GMT]]></title><description><![CDATA[<p>Und jede Datei hat immer eine Dateiendung?<br />
Unter Windows ist es außerdem so dass der durchsuchte Ordner selbst bei der Auflistung als &quot;.&quot; zurückgegeben wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2021811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2021811</guid><dc:creator><![CDATA[rean]]></dc:creator><pubDate>Wed, 16 Feb 2011 13:55:19 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu: vector&amp;lt;string&amp;gt; und strchr on Wed, 16 Feb 2011 14:01:37 GMT]]></title><description><![CDATA[<p>Abgesehen davon, dass du hier std::string mit C-Funktionen mischst und es bessere Möglichkeiten gäbe: &quot;geht nicht&quot; ist keine Fehlerbeschreibung! Was geht nicht? Fehler zur Compile- oder zur Laufzeit? Eventuelle Fehlermeldung? Wie äußert sich das Fehlverhalten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2021817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2021817</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 16 Feb 2011 14:01:37 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu: vector&amp;lt;string&amp;gt; und strchr on Wed, 16 Feb 2011 15:24:41 GMT]]></title><description><![CDATA[<p>okay,</p>
<p>in reinem C++ zu programmieren bereitet mir in der Tat noch Probleme und ich geb zu, das ich hier und da noch C und C++ ausversehen zusammenwerf. Tschuldigung <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>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Wie kommst du überhaupt auf diesen Unsinn? Nimm doch die Funktionen der Stringklasse!</p>
</blockquote>
<p>Schande über mein Haupt. Ich muss mir angewöhnen richtig zu suchen.</p>
<p>rean schrieb:</p>
<blockquote>
<p>Und jede Datei hat immer eine Dateiendung?<br />
Unter Windows ist es außerdem so dass der durchsuchte Ordner selbst bei der Auflistung als &quot;.&quot; zurückgegeben wird.</p>
</blockquote>
<p>Das is mir klar, &quot;.&quot; und &quot;..&quot; wird auch im Vorfeld schon rausgefiltert. Jede Datei im Ordner hat die Struktur &quot;Dateiname.txt&quot;.</p>
<p>Also mit neu erworbenen Wissen hab ich mich gleich auf die Suche begeben und String::find gefunden. Klappt soweit super damit.</p>
<p>Danke euch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2021873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2021873</guid><dc:creator><![CDATA[Rille]]></dc:creator><pubDate>Wed, 16 Feb 2011 15:24:41 GMT</pubDate></item></channel></rss>