<?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[Operator &amp;gt;&amp;gt; Dateinamen übergeben]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe für meine Klasse den Operator &quot;&gt;&gt;&quot; überladen, um eine Datenstruktur anzulegen. Der Algorithmus funktioniert auch soweit.</p>
<p>Jedoch weiß ich nicht, wie der Operator &quot;&gt;&gt;&quot; aufzurufen ist. Ich dachte, daß ich ein neues Objekt meiner Klasse aufrufe und dann die Datei mit dem Operator &gt;&gt; angebe. Also ungefähr so:</p>
<pre><code>TriaObj* Punktemenge = new TriaObj();
&quot;cube.dat&quot; &gt;&gt; Punktemenge;
</code></pre>
<p>Allerdings sagt der Compiler, daß es ungültige Operanden des Typs const char[9] wären. Wie müßte ich den Dateinamen richtig übergeben?</p>
<p>Hier nochmal der Aufruf zum Überladen:</p>
<pre><code>istream&amp; operator&gt;&gt; (istream&amp; datei, TriaObj &amp;aktuellesTriaObj)  {

    string substring = &quot;&quot;;
    string temp = &quot;&quot;;
    if (datei) {
        ostringstream c;
        //Einlesen der doofen Daten
            c &lt;&lt; datei.rdbuf();
            //cout &lt;&lt; c &lt;&lt; endl;

            temp += c.str();
    }
//hier der weitere Teil mit dem Einlesen, der auch funktioniert, also Zerlegen 
//des erhaltenden Strings aus der Datei für die Datenstruktur
//es wird also mit dem String temp weitergearbeitet
//und der istream nicht weiter angefasst

//Vertices in der Datei finden, um einen Anfang zu haben
    int pos = temp.find(&quot;Vertices:&quot;, 0);
    cout &lt;&lt; pos &lt;&lt; endl;
    //String nach der Klammer &quot;{&quot; in substring kopieren
    substring = temp.substr(pos + 10, temp.length());
    //Debug
    cout &lt;&lt; &quot;Substring: &quot;&lt;&lt; substring &lt;&lt; endl;

}
</code></pre>
<p>Vielen Dank für eure Mühe schon mal im Voraus.</p>
<p>Gruß,</p>
<p>Tobias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/216543/operator-gt-gt-dateinamen-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 08:46:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/216543.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 25 Jun 2008 10:44:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operator &amp;gt;&amp;gt; Dateinamen übergeben on Wed, 25 Jun 2008 10:46:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe für meine Klasse den Operator &quot;&gt;&gt;&quot; überladen, um eine Datenstruktur anzulegen. Der Algorithmus funktioniert auch soweit.</p>
<p>Jedoch weiß ich nicht, wie der Operator &quot;&gt;&gt;&quot; aufzurufen ist. Ich dachte, daß ich ein neues Objekt meiner Klasse aufrufe und dann die Datei mit dem Operator &gt;&gt; angebe. Also ungefähr so:</p>
<pre><code>TriaObj* Punktemenge = new TriaObj();
&quot;cube.dat&quot; &gt;&gt; Punktemenge;
</code></pre>
<p>Allerdings sagt der Compiler, daß es ungültige Operanden des Typs const char[9] wären. Wie müßte ich den Dateinamen richtig übergeben?</p>
<p>Hier nochmal der Aufruf zum Überladen:</p>
<pre><code>istream&amp; operator&gt;&gt; (istream&amp; datei, TriaObj &amp;aktuellesTriaObj)  {

    string substring = &quot;&quot;;
    string temp = &quot;&quot;;
    if (datei) {
        ostringstream c;
        //Einlesen der doofen Daten
            c &lt;&lt; datei.rdbuf();
            //cout &lt;&lt; c &lt;&lt; endl;

            temp += c.str();
    }
//hier der weitere Teil mit dem Einlesen, der auch funktioniert, also Zerlegen 
//des erhaltenden Strings aus der Datei für die Datenstruktur
//es wird also mit dem String temp weitergearbeitet
//und der istream nicht weiter angefasst

//Vertices in der Datei finden, um einen Anfang zu haben
    int pos = temp.find(&quot;Vertices:&quot;, 0);
    cout &lt;&lt; pos &lt;&lt; endl;
    //String nach der Klammer &quot;{&quot; in substring kopieren
    substring = temp.substr(pos + 10, temp.length());
    //Debug
    cout &lt;&lt; &quot;Substring: &quot;&lt;&lt; substring &lt;&lt; endl;

}
</code></pre>
<p>Vielen Dank für eure Mühe schon mal im Voraus.</p>
<p>Gruß,</p>
<p>Tobias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1535440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1535440</guid><dc:creator><![CDATA[Sir_Tobias]]></dc:creator><pubDate>Wed, 25 Jun 2008 10:46:37 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;gt;&amp;gt; Dateinamen übergeben on Wed, 25 Jun 2008 10:50:43 GMT]]></title><description><![CDATA[<p>std::ifstream istr;<br />
istr.open(&quot;egal.txt&quot;);<br />
if(istr.is_open()) istr &gt;&gt; Punktemenge;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1535445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1535445</guid><dc:creator><![CDATA[Treb]]></dc:creator><pubDate>Wed, 25 Jun 2008 10:50:43 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;gt;&amp;gt; Dateinamen übergeben on Wed, 25 Jun 2008 13:18:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>vielen Dank schon mal für die Hilfe.<br />
Bis jetzt hatte ich es auch so. Allerdings möchte ich den Dateinamen allgemein halten, da ich ihn als Parameter übergeben möchte. Ist das auch möglich?<br />
Müßte ich es als String oder char übergeben?</p>
<p>Gruß,</p>
<p>Tobias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1535582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1535582</guid><dc:creator><![CDATA[Sir_Tobias]]></dc:creator><pubDate>Wed, 25 Jun 2008 13:18:37 GMT</pubDate></item><item><title><![CDATA[Reply to Operator &amp;gt;&amp;gt; Dateinamen übergeben on Wed, 25 Jun 2008 13:21:06 GMT]]></title><description><![CDATA[<p>Referenz nachlesen, wissen:<br />
<a href="http://www.cplusplus.com/reference/iostream/ofstream/ofstream.html" rel="nofollow">http://www.cplusplus.com/reference/iostream/ofstream/ofstream.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1535583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1535583</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 25 Jun 2008 13:21:06 GMT</pubDate></item></channel></rss>