<?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[Dateiendung in string kopieren]]></title><description><![CDATA[<p>Hallo, bin noch Anfängerin und stehe vor folgender Aufgabe:<br />
Es wird ein string (Dateiname als Inhalt) an die Funktion endung() übergeben, welche dann einen string mit der Dateiendung zurückgeben soll.<br />
Das Programm liefert als Ausgabe nur '...'.<br />
Kann mir jemand weiterhelfen?</p>
<pre><code class="language-cpp">using namespace std;
#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;cstdlib&gt;

string endung(string);

int main()
{
    string result;
    string str;
    int anzahl;
    cout&lt;&lt;&quot;Dateinamen mit Datei-Endung eingeben eingeben:&quot;&lt;&lt;endl;
    cin&gt;&gt;str;
    result=endung(str);
    cout&lt;&lt;result;
}

string endung(string name)
{
    string help;
    bool punktvorkommen=false;
    for(int i=0;i&lt;name.length();i++)
    {
        if(name[i]=='.')
        {
            punktvorkommen=true;
            for(int j=i+1;j&lt;name.length();j++)
            {
                help=help+name[i];
            }
        }
    }
    if(punktvorkommen) return help;
    else return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/300953/dateiendung-in-string-kopieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 11:32:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/300953.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Mar 2012 19:04:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dateiendung in string kopieren on Wed, 14 Mar 2012 19:04:22 GMT]]></title><description><![CDATA[<p>Hallo, bin noch Anfängerin und stehe vor folgender Aufgabe:<br />
Es wird ein string (Dateiname als Inhalt) an die Funktion endung() übergeben, welche dann einen string mit der Dateiendung zurückgeben soll.<br />
Das Programm liefert als Ausgabe nur '...'.<br />
Kann mir jemand weiterhelfen?</p>
<pre><code class="language-cpp">using namespace std;
#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;cstdlib&gt;

string endung(string);

int main()
{
    string result;
    string str;
    int anzahl;
    cout&lt;&lt;&quot;Dateinamen mit Datei-Endung eingeben eingeben:&quot;&lt;&lt;endl;
    cin&gt;&gt;str;
    result=endung(str);
    cout&lt;&lt;result;
}

string endung(string name)
{
    string help;
    bool punktvorkommen=false;
    for(int i=0;i&lt;name.length();i++)
    {
        if(name[i]=='.')
        {
            punktvorkommen=true;
            for(int j=i+1;j&lt;name.length();j++)
            {
                help=help+name[i];
            }
        }
    }
    if(punktvorkommen) return help;
    else return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2191712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191712</guid><dc:creator><![CDATA[metable]]></dc:creator><pubDate>Wed, 14 Mar 2012 19:04:22 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiendung in string kopieren on Wed, 14 Mar 2012 19:18:43 GMT]]></title><description><![CDATA[<p>hat sich erledigt...</p>
<p>hier</p>
<pre><code class="language-cpp">help=help+name[i];
</code></pre>
<p>muss natürlich</p>
<pre><code class="language-cpp">help=help+name[j];
</code></pre>
<p>stehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191715</guid><dc:creator><![CDATA[metable]]></dc:creator><pubDate>Wed, 14 Mar 2012 19:18:43 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiendung in string kopieren on Wed, 14 Mar 2012 19:20:33 GMT]]></title><description><![CDATA[<p>Wenn du std::string nutzt, dann nutze ihn auch!</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

string endung(const string&amp; filename)
{
  size_t dot_pos = filename.find_last_of('.');
  return filename.substr(dot_pos + 1, string::npos);
}

int main()
{
    cout &lt;&lt; &quot;Dateinamen mit Datei-Endung eingeben eingeben:\n&quot;;
    string dateiname;
    cin &gt;&gt; dateiname;
    cout &lt;&lt; endung(dateiname) &lt;&lt; '\n';
}
</code></pre>
<p>Muss man ja schließlich nicht alles zum 347487574993ten Mal (schlecht) neu erfinden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191716</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 14 Mar 2012 19:20:33 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiendung in string kopieren on Wed, 14 Mar 2012 19:26:36 GMT]]></title><description><![CDATA[<p>Ich versteh deine Lösung nicht wirklich <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>Außerdem wird mit</p>
<pre><code class="language-cpp">cin&gt;&gt;str;
</code></pre>
<p>nur bis zu einem Leerzeichen eingelesen.<br />
Das kann Probleme verursachen.<br />
Besser gehts mit</p>
<pre><code class="language-cpp">std::getline(std::cin, str)
</code></pre>
<p><a href="http://www.cplusplus.com/reference/string/getline/" rel="nofollow">http://www.cplusplus.com/reference/string/getline/</a><br />
Versuchs mal so:</p>
<pre><code class="language-cpp">std::string endung(const std::string&amp; s)
{
    return s.substr(s.find_last_of('.')+1, s.length());
}
</code></pre>
<p><a href="http://www.cplusplus.com/reference/string/string/substr/" rel="nofollow">http://www.cplusplus.com/reference/string/string/substr/</a><br />
<a href="http://www.cplusplus.com/reference/string/string/find_last_of/" rel="nofollow">http://www.cplusplus.com/reference/string/string/find_last_of/</a></p>
<p>Edit: Boaa aber sowas von zu spät..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191717</guid><dc:creator><![CDATA[Incocnito]]></dc:creator><pubDate>Wed, 14 Mar 2012 19:26:36 GMT</pubDate></item></channel></rss>