<?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[probleme mit SaveData...]]></title><description><![CDATA[<p>Folgendes Programm ( Ausschnitt ) ist mit dem Borland C++ Compiler erstellt worden, und ich soll es jetzt unter MS Visual Studio zum laufen kriegen.Ich hab alle Fehlermeldungen wegbekommen, nur diese macht mir noch etwas Sorgen, auch google weiß dazu nichts:</p>
<p>sprintf(tmp,&quot;%d&quot;,t);<br />
string number=tmp;<br />
SaveData(&quot;Main&quot;+number+&quot;.dat&quot;);</p>
<p>Der ganze Ausdruck steht in einer Schleife mit t, und die Dateinamen sollen halt Main*.dat sein, wobei * durch den Wert von t ersetzt wird.<br />
Das Problem ist die Zeile mit &quot;SaveData...&quot;, weil da eine Variabel mitten in den String reinsoll.Mit &quot;cout&quot; wärs ja kein Problem, aber ich hab den Befehl SaveData noch nie verwendet und Hilfedateien etc schweigen sich zu diesem Thema aus.Wenn die Fehlermeldungen nötig sind, kann ich sie gern noch posten.</p>
<p>Und wenn einer einen Beitrag, Link oder Stichwort zum googlen hat, ist mir auch schon geholfen <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/123799/probleme-mit-savedata</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 18:22:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/123799.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 20 Oct 2005 05:58:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to probleme mit SaveData... on Thu, 20 Oct 2005 06:04:40 GMT]]></title><description><![CDATA[<p>Folgendes Programm ( Ausschnitt ) ist mit dem Borland C++ Compiler erstellt worden, und ich soll es jetzt unter MS Visual Studio zum laufen kriegen.Ich hab alle Fehlermeldungen wegbekommen, nur diese macht mir noch etwas Sorgen, auch google weiß dazu nichts:</p>
<p>sprintf(tmp,&quot;%d&quot;,t);<br />
string number=tmp;<br />
SaveData(&quot;Main&quot;+number+&quot;.dat&quot;);</p>
<p>Der ganze Ausdruck steht in einer Schleife mit t, und die Dateinamen sollen halt Main*.dat sein, wobei * durch den Wert von t ersetzt wird.<br />
Das Problem ist die Zeile mit &quot;SaveData...&quot;, weil da eine Variabel mitten in den String reinsoll.Mit &quot;cout&quot; wärs ja kein Problem, aber ich hab den Befehl SaveData noch nie verwendet und Hilfedateien etc schweigen sich zu diesem Thema aus.Wenn die Fehlermeldungen nötig sind, kann ich sie gern noch posten.</p>
<p>Und wenn einer einen Beitrag, Link oder Stichwort zum googlen hat, ist mir auch schon geholfen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/896691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/896691</guid><dc:creator><![CDATA[BeNNeR]]></dc:creator><pubDate>Thu, 20 Oct 2005 06:04:40 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit SaveData... on Thu, 20 Oct 2005 06:02:06 GMT]]></title><description><![CDATA[<p>Ja, das wäre nicht schlecht - und eventuell auch die Signatur von SaveData() (mir ist keine ANSI-C++-Funktion mit dem Namen bekannt, also tippe ich auf eine Bibliotheksfunktion).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/896692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/896692</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 20 Oct 2005 06:02:06 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit SaveData... on Thu, 20 Oct 2005 06:12:06 GMT]]></title><description><![CDATA[<p>Da sind sie:</p>
<p>d:\Visual Studio Projekte\Berechnungen\I\I.cpp(323): error C2677: Binärer Operator '+': Es konnte kein globaler Operator gefunden werden, der den Typ 'std::string' akzeptiert (oder keine geeignete Konvertierung möglich)</p>
<p>d:\Visual Studio Projekte\Berechnungen\I\I.cpp(323): error C2784: 'std::reverse_iterator&lt;_RanIt&gt; std::operator +(_Diff,const std::reverse_iterator&lt;_RanIt&gt; &amp;)': Vorlagenargument für 'const std::reverse_iterator&lt;_RanIt&gt; &amp;' von 'std::string' konnte nicht hergeleitet werden</p>
<p>d:\Visual Studio Projekte\Berechnungen\I\I.cpp(323): error C2784: 'std::reverse_iterator&lt;_RanIt&gt; std::operator +(_Diff,const std::reverse_iterator&lt;_RanIt&gt; &amp;)': Vorlagenargument für 'const std::reverse_iterator&lt;_RanIt&gt; &amp;' von 'std::string' konnte nicht hergeleitet werden<br />
c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include\xutility(626): Siehe Deklaration von 'std::operator`+''</p>
<p>d:\Visual Studio Projekte\Berechnungen\I\I.cpp(323): error C2784: 'std::reverse_iterator&lt;_RanIt&gt; std::operator +(_Diff,const std::reverse_iterator&lt;_RanIt&gt; &amp;)': Vorlagenargument für 'const std::reverse_iterator&lt;_RanIt&gt; &amp;' von 'std::string' konnte nicht hergeleitet werden<br />
c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include\xutility(626): Siehe Deklaration von 'std::operator`+''</p>
<p>d:\Visual Studio Projekte\Berechnungen\I\I.cpp(323): error C3767: '+' auf übereinstimmende Funktion kann nicht zugegriffen werden<br />
kann die friend-Funktion bei 'c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include\xstring(299)' sein: '+' [wird möglicherweise mit der argumentbezogenen Suche gefunden]<br />
oder die friend-Funktion bei 'c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include\xstring(299)' : '+' [kann über die argumentbezogene Suche gefunden werden]<br />
oder die friend-Funktion bei 'c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include\xstring(196)' : '+' [kann über die argumentbezogene Suche gefunden werden]<br />
oder die friend-Funktion bei 'c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include\xstring(196)' : '+' [kann über die argumentbezogene Suche gefunden werden]</p>
<p>Und noch ne peinliche Frage, was genau ist die Signatur? Das hier hat zumindest MS Visual dazu zu sagen:</p>
<p>IDirectXFileSaveObject::SaveData<br />
Saves a data object and its children to a Microsoft<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/00ae.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--registered"
      title=":registered:"
      alt="®"
    /> DirectX<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/00ae.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--registered"
      title=":registered:"
      alt="®"
    /> file.</p>
<p>HRESULT SaveData(<br />
LPDIRECTXFILEDATA pDataObj<br />
);</p>
<p>Parameters<br />
pDataObj<br />
[in] Pointer to an IDirectXFileData interface, representing the file data object to save.<br />
Return Values<br />
If the method succeeds, the return value is DXFILE_OK.</p>
<p>If the method fails, the return value can be one of the following values.</p>
<p>DXFILEERR_BADARRAYSIZE<br />
DXFILEERR_BADVALUE</p>
<p>Requirements<br />
Header: Declared in Dxfile.h.<br />
Import Library: Use D3dxof.lib.</p>
<p>Da steht, dass man Dxfile.h mit reinnehmen soll.Aber es kommt ja gar keine Fehlermeldung in der Richtung, dass sie nicht inkludiert wäre, und normalerweise beschwert sich der Compiler bei sowas immer sofort. Ich hab sie mal mit inkludiert, das Ergebnis waren 100 Fehlermeldungen, die er aber gar nicht erst einzeln angezeigt hat,deswegen hab ich sie schnell wieder rausgenommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/896695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/896695</guid><dc:creator><![CDATA[BeNNeR]]></dc:creator><pubDate>Thu, 20 Oct 2005 06:12:06 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit SaveData... on Thu, 20 Oct 2005 06:27:49 GMT]]></title><description><![CDATA[<p>BeNNeR schrieb:</p>
<blockquote>
<p>Da sind sie:</p>
<pre><code>I.cpp(323): error C2677: Binärer Operator '+': Es konnte kein globaler Operator gefunden werden, der den Typ 'std::string' akzeptiert (oder keine geeignete Konvertierung möglich)
I.cpp(323): error C2784: 'std::reverse_iterator&lt;_RanIt&gt; std::operator +(_Diff,const std::reverse_iterator&lt;_RanIt&gt; &amp;)': Vorlagenargument für 'const std::reverse_iterator&lt;_RanIt&gt; &amp;' von 'std::string' konnte nicht hergeleitet werden
I.cpp(323): error C2784: 'std::reverse_iterator&lt;_RanIt&gt; std::operator +(_Diff,const std::reverse_iterator&lt;_RanIt&gt; &amp;)': Vorlagenargument für 'const std::reverse_iterator&lt;_RanIt&gt; &amp;' von 'std::string' konnte nicht hergeleitet werden
    include\xutility(626): Siehe Deklaration von 'std::operator`+''
I.cpp(323): error C2784: 'std::reverse_iterator&lt;_RanIt&gt; std::operator +(_Diff,const std::reverse_iterator&lt;_RanIt&gt; &amp;)': Vorlagenargument für 'const std::reverse_iterator&lt;_RanIt&gt; &amp;' von 'std::string' konnte nicht hergeleitet werden
    include\xutility(626): Siehe Deklaration von 'std::operator`+''
I.cpp(323): error C3767: '+' auf übereinstimmende Funktion kann nicht zugegriffen werden
    kann die friend-Funktion bei 'include\xstring(299)' sein: '+' [wird möglicherweise mit der argumentbezogenen Suche gefunden]
   oder die friend-Funktion bei  'include\xstring(299)' : '+'  [kann über die argumentbezogene Suche gefunden werden]
   oder die friend-Funktion bei 'include\xstring(196)' : '+'  [kann über die argumentbezogene Suche gefunden werden]
   oder die friend-Funktion bei 'include\xstring(196)' : '+'  [kann über die argumentbezogene Suche gefunden werden]
</code></pre>
</blockquote>
<p>Das sieht nach einem Problem in der string-Klasse aus - versuch doch, den Dateinamen direkt im printf zusammenzubauen:</p>
<pre><code class="language-cpp">sprintf(tmp,&quot;Main%d.dat&quot;,t);
</code></pre>
<blockquote>
<p>Und noch ne peinliche Frage, was genau ist die Signatur?</p>
</blockquote>
<p>Signatur ist die quasi die Deklaration der Funktion (Anzahl, Typ und Reihenfolge der Parameter), also in deinem Beispiel:</p>
<pre><code class="language-cpp">HRESULT SaveData( LPDIRECTXFILEDATA pDataObj );
</code></pre>
<p>Und da haben wir vermutlich das nächste Problem: Die Funktion erwartet einen Pointer auf eine Dateistruktur und kann mit einem String herzlich wenig anfangen (außer MFC bietet noch eine überladene Version &quot;HRESULT SaveData(std::string DataName);&quot; an - aber da würde ich eher eine Variante mit CString vermuten, wenn überhaupt).</p>
<p>PS: Und bei allem, was jenseits des Standards liegt, kannst du sowieso nicht erwarten, daß es von verschiedenen Compilern gleich gut erkannt und verarbeitet wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/896704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/896704</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 20 Oct 2005 06:27:49 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit SaveData... on Thu, 20 Oct 2005 06:38:45 GMT]]></title><description><![CDATA[<p>Also ich habe den Dateinamen wie du vorgeschlagen hast in sprintf eingebaut und das hat funktioniert, SaveData hat den String akzeptiert und jetzt funktioniert es so, wie ich es brauche.</p>
<pre><code class="language-cpp">sprintf(tmp,&quot;Main%d.dat&quot;,t);
</code></pre>
<p>So eine simple Lösung, und ich hab mir stundenlang den Kopf zerbrochen und rumgesucht...<br />
Aber ich glaub das werd ich mir sehr gut merken, vielen Dank für deine Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/896713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/896713</guid><dc:creator><![CDATA[BeNNeR]]></dc:creator><pubDate>Thu, 20 Oct 2005 06:38:45 GMT</pubDate></item></channel></rss>