<?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[Problem mit fopen (Quelldatei soll von der Eingabe abhängig sein)]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein C++ Programm geschrieben mit dem die Mittelwerte der verschiedenen Spalten einer Datei berechnet werden. Soweit klappt alles, solange ich den Dateinamen im Programm selbst vorgebe. Jedoch will ich den Dateinamen über eine Abfrage eingeben (siehe dicker Text im Quelltext unten). Die Funktion fopen benötigt aber den Dateityp const char. Die Umformatierung des eingegbenen strings durch (const char <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="😉"
    /> in den benötigten Dateityp liefert beim kompilieren den Fehler:<br />
&quot;error C2440: 'Typumwandlung': 'std::string' kann nicht in 'const char *' konvertiert werden&quot; (Visual c++ Express 2000 compiler).</p>
<p>Wie kann ich den Quelldateinamen über eine Abfrage an der im Quellcode angegebenen Stelle (siehe fetter Text im Quellcode) vorgeben?</p>
<p>#include&lt;cstdlib&gt;<br />
#include&lt;fstream&gt;<br />
#include&lt;iostream&gt;<br />
#include&lt;string&gt;<br />
#include&lt;cstdio&gt;<br />
using namespace std;</p>
<p>int main(){<br />
float Zeit[1000];<br />
float Spannung[1000];<br />
float Strom[1000];<br />
float Channel3[1000];<br />
float Spannungmittel = 0;<br />
float Strommittel = 0;</p>
<p><strong>//string quelldateiname;<br />
//cout&lt;&lt; &quot;Quelldateiname?&quot;;<br />
//cin &gt;&gt; quelldateiname;</strong></p>
<p>FILE* quelle;</p>
<p>quelle = fopen(&quot;03_0001.dat&quot;, &quot;r&quot;); <strong>// &lt;-- Hier soll anstelle einer fest vorgegebenen Datei die vom Benutzer eingegebene Quelldatei (quelldateiname) verwendet werden.</strong></p>
<p>for(int i=1;i&lt;1001;i++){<br />
fscanf(quelle, &quot;%f\t%f\t%f\t%f&quot;, &amp;Zeit[i], &amp;Spannung[i], &amp;Strom[i], &amp;Channel3[i]);</p>
<p>}</p>
<p>string zieldateiname=&quot;Mittelung_03_0001.dat&quot;;</p>
<p>ofstream Zieldatei(zieldateiname.c_str());</p>
<p>for(int i=1;i&lt;1001;i++){<br />
Spannungmittel=Spannungmittel+Spannung[i];<br />
Strommittel = Strommittel+Strom[i];</p>
<p>Zieldatei &lt;&lt; i &lt;&lt; '\t' &lt;&lt; Spannung[i] &lt;&lt; '\t' &lt;&lt; Strom[i] &lt;&lt; '\t' &lt;&lt; Spannungmittel/i &lt;&lt; '\t' &lt;&lt; Strommittel/i &lt;&lt; '\n';<br />
}</p>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267194/problem-mit-fopen-quelldatei-soll-von-der-eingabe-abhängig-sein</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 15:12:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267194.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 20 May 2010 11:46:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit fopen (Quelldatei soll von der Eingabe abhängig sein) on Thu, 20 May 2010 11:46:43 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein C++ Programm geschrieben mit dem die Mittelwerte der verschiedenen Spalten einer Datei berechnet werden. Soweit klappt alles, solange ich den Dateinamen im Programm selbst vorgebe. Jedoch will ich den Dateinamen über eine Abfrage eingeben (siehe dicker Text im Quelltext unten). Die Funktion fopen benötigt aber den Dateityp const char. Die Umformatierung des eingegbenen strings durch (const char <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="😉"
    /> in den benötigten Dateityp liefert beim kompilieren den Fehler:<br />
&quot;error C2440: 'Typumwandlung': 'std::string' kann nicht in 'const char *' konvertiert werden&quot; (Visual c++ Express 2000 compiler).</p>
<p>Wie kann ich den Quelldateinamen über eine Abfrage an der im Quellcode angegebenen Stelle (siehe fetter Text im Quellcode) vorgeben?</p>
<p>#include&lt;cstdlib&gt;<br />
#include&lt;fstream&gt;<br />
#include&lt;iostream&gt;<br />
#include&lt;string&gt;<br />
#include&lt;cstdio&gt;<br />
using namespace std;</p>
<p>int main(){<br />
float Zeit[1000];<br />
float Spannung[1000];<br />
float Strom[1000];<br />
float Channel3[1000];<br />
float Spannungmittel = 0;<br />
float Strommittel = 0;</p>
<p><strong>//string quelldateiname;<br />
//cout&lt;&lt; &quot;Quelldateiname?&quot;;<br />
//cin &gt;&gt; quelldateiname;</strong></p>
<p>FILE* quelle;</p>
<p>quelle = fopen(&quot;03_0001.dat&quot;, &quot;r&quot;); <strong>// &lt;-- Hier soll anstelle einer fest vorgegebenen Datei die vom Benutzer eingegebene Quelldatei (quelldateiname) verwendet werden.</strong></p>
<p>for(int i=1;i&lt;1001;i++){<br />
fscanf(quelle, &quot;%f\t%f\t%f\t%f&quot;, &amp;Zeit[i], &amp;Spannung[i], &amp;Strom[i], &amp;Channel3[i]);</p>
<p>}</p>
<p>string zieldateiname=&quot;Mittelung_03_0001.dat&quot;;</p>
<p>ofstream Zieldatei(zieldateiname.c_str());</p>
<p>for(int i=1;i&lt;1001;i++){<br />
Spannungmittel=Spannungmittel+Spannung[i];<br />
Strommittel = Strommittel+Strom[i];</p>
<p>Zieldatei &lt;&lt; i &lt;&lt; '\t' &lt;&lt; Spannung[i] &lt;&lt; '\t' &lt;&lt; Strom[i] &lt;&lt; '\t' &lt;&lt; Spannungmittel/i &lt;&lt; '\t' &lt;&lt; Strommittel/i &lt;&lt; '\n';<br />
}</p>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900101</guid><dc:creator><![CDATA[TieKai]]></dc:creator><pubDate>Thu, 20 May 2010 11:46:43 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fopen (Quelldatei soll von der Eingabe abhängig sein) on Thu, 20 May 2010 11:55:00 GMT]]></title><description><![CDATA[<p>wenn <code>str</code> dein <code>std::string</code> ist, dann kommst du mit <code>str.c_str()</code> an eine <code>const char*</code> representation. Siehe <a href="http://www.cplusplus.com/reference/string/string/c_str/" rel="nofollow">http://www.cplusplus.com/reference/string/string/c_str/</a> (bei dem ofstream machst du es ja richtig)</p>
<p>btw. fopen ist C Zeugs. Das nimmt man in C++ eigentlich nicht mehr.</p>
<p>und benutz bitte code-tags.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900106</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Thu, 20 May 2010 11:55:00 GMT</pubDate></item></channel></rss>