<?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[Prüfen auf welchem Laufwerk welche Datei ist]]></title><description><![CDATA[<p>Hallo ich versuche mir gerade eine Funktion zu schreiben mit welcher ich nach einer Datei auf verschiedenen Laufwerken suchen kann.</p>
<p>Hier ist meine Funktion:</p>
<p>Aber er findet die Datei nicht was ist hier dran falsch ?</p>
<p>Ok ich verwenden hier einen C Befehl mit drin aber kann das dass Problem sein ?</p>
<p>BTW ifstream datei (drive.c_str() &quot;\\test.txt &quot;); das funktionierte leider nicht.</p>
<p>Fehlermeldung:<br />
Erwartet }<br />
Auf der linken Struktur ist. oder. * erforderlich</p>
<pre><code class="language-cpp">char alph[] = {'A','B','C'};
char drive = 0x40; // A

for (int i=0;i&lt;3;i++) // A bis c
{

drive = drive + 0x1;
cout&lt;&lt; drive &lt;&lt;endl;

ifstream datei (&quot;%s:\\test.txt &quot;) , drive ;

        if (datei.good() )
        {
                cout&lt;&lt;&quot;ok&quot;&lt;&lt;endl;
        }

        else
        {
                cout&lt;&lt;&quot;err&quot;&lt;&lt;endl;

        }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/253790/prüfen-auf-welchem-laufwerk-welche-datei-ist</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 11:48:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/253790.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Nov 2009 17:01:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 17:01:54 GMT]]></title><description><![CDATA[<p>Hallo ich versuche mir gerade eine Funktion zu schreiben mit welcher ich nach einer Datei auf verschiedenen Laufwerken suchen kann.</p>
<p>Hier ist meine Funktion:</p>
<p>Aber er findet die Datei nicht was ist hier dran falsch ?</p>
<p>Ok ich verwenden hier einen C Befehl mit drin aber kann das dass Problem sein ?</p>
<p>BTW ifstream datei (drive.c_str() &quot;\\test.txt &quot;); das funktionierte leider nicht.</p>
<p>Fehlermeldung:<br />
Erwartet }<br />
Auf der linken Struktur ist. oder. * erforderlich</p>
<pre><code class="language-cpp">char alph[] = {'A','B','C'};
char drive = 0x40; // A

for (int i=0;i&lt;3;i++) // A bis c
{

drive = drive + 0x1;
cout&lt;&lt; drive &lt;&lt;endl;

ifstream datei (&quot;%s:\\test.txt &quot;) , drive ;

        if (datei.good() )
        {
                cout&lt;&lt;&quot;ok&quot;&lt;&lt;endl;
        }

        else
        {
                cout&lt;&lt;&quot;err&quot;&lt;&lt;endl;

        }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1804524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804524</guid><dc:creator><![CDATA[check_file]]></dc:creator><pubDate>Fri, 06 Nov 2009 17:01:54 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 17:34:23 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">BTW ifstream datei (drive.c_str() &quot;\\test.txt &quot;); das funktionierte leider nicht.
</code></pre>
<p>Damit würdest du auch Pointer addieren.<br />
#edit: Ich gehe davon aus das ein &quot;+&quot; dazwischen sein sollte.</p>
<pre><code class="language-cpp">ifstream datei((drive + &quot;\\test.txt &quot;).c_str());
</code></pre>
<p>Man müsste jetzt noch wissen in welcher Zeile die Fehlermeldung auftritt (und vermutlich müsste man auch noch mehr Code sehen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804540</guid><dc:creator><![CDATA[blub* 0]]></dc:creator><pubDate>Fri, 06 Nov 2009 17:34:23 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 17:58:34 GMT]]></title><description><![CDATA[<p>Das funktionierte leider auch nicht aber der Operator + hat mir geholfen^^</p>
<p>So funktioniert :&gt;</p>
<pre><code class="language-cpp">int check_file()
{

string  path [] = {&quot;c:\\test&quot;};

char alph[] = {'A','B','C'};

for (int i=0;i&lt;3;i++) // A bis c
{

ifstream datei( alph[i] + &quot;\\test.txt &quot; );

cout&lt;&lt;alph[i];

        if (datei.good() )
        {
                cout&lt;&lt;&quot;ok&quot;&lt;&lt;endl;
                return 1;
        }

}

return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1804559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804559</guid><dc:creator><![CDATA[check_file]]></dc:creator><pubDate>Fri, 06 Nov 2009 17:58:34 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 18:03:19 GMT]]></title><description><![CDATA[<p>Oops</p>
<p>for (int i=0;i&lt;4;i++) // A bis c</p>
<p>Die Schleife muss bis 4 Zählen.</p>
<p>Wenn ich die Schleife nur bis 3 Zählen lasse dann werden mir zwar auch alle<br />
Buchstaben angezeigt aber dann funktioniert es nicht komischerweise hat wer dafür eine erklärung ?</p>
<p>Ansonsten guck ich mal mit dem OllyDebugger.</p>
<pre><code class="language-cpp">int check_file() 
{ 

string  path [] = {&quot;c:\\test&quot;}; 

char alph[] = {'A','B','C'}; 

for (int i=0;i&lt;4;i++) // A bis c 
{ 

ifstream datei( alph[i] + &quot;\\test.txt &quot; ); 

cout&lt;&lt;alph[i]; 

        if (datei.good() ) 
        { 
                cout&lt;&lt;&quot;ok&quot;&lt;&lt;endl; 
                return 1; 
        } 

} 

return 0; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1804562</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804562</guid><dc:creator><![CDATA[check_file]]></dc:creator><pubDate>Fri, 06 Nov 2009 18:03:19 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 18:05:38 GMT]]></title><description><![CDATA[<p>Was funktioniert sonst nicht?<br />
Das mit dem &lt;4 ist auf jeden Fall falsch, du läufst ja über den gültigen Index raus! A, B, C =&gt; 0, 1, 2 =&gt; &lt; 3</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804563</guid><dc:creator><![CDATA[blub* 0]]></dc:creator><pubDate>Fri, 06 Nov 2009 18:05:38 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 18:07:20 GMT]]></title><description><![CDATA[<p>Ach geht doch net -.-</p>
<p>Wenn ich jetzt z.b. auch noch Laufwerk <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f628.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--fearful_face"
      title="D:"
      alt="😨"
    /> überprüfen will:</p>
<pre><code class="language-cpp">char alph[] = {'A','B','C','D'};
</code></pre>
<p>Dann findet er die Datei auf Laufwerk C: nicht mehr <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804566</guid><dc:creator><![CDATA[check_file]]></dc:creator><pubDate>Fri, 06 Nov 2009 18:07:20 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 18:12:10 GMT]]></title><description><![CDATA[<p>Das müsstest du mal etwas genauer ausführe, was kriegst du für eine Ausgabe, etc..<br />
Was mir aber grade noch auffällt: dein ifstream Objekt öffnet ja die Datei, du schließt das Handle aber nicht mehr sauber (afaik wird das Handle im Konstruktor nicht geschlossen, weiß da jemand was dazu?), mach doch mal noch ein .close() rein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804569</guid><dc:creator><![CDATA[blub* 0]]></dc:creator><pubDate>Fri, 06 Nov 2009 18:12:10 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 18:29:59 GMT]]></title><description><![CDATA[<p>Als Ausgabe bekomme ich halt nur meine Buchstaben aus dem Array:</p>
<p>char alph[] = {'A','B','C'};</p>
<p>Auch mit datei.close(); drin passiert das selbe <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1804582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804582</guid><dc:creator><![CDATA[ckeck_fileq]]></dc:creator><pubDate>Fri, 06 Nov 2009 18:29:59 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 18:36:56 GMT]]></title><description><![CDATA[<p>blub² schrieb:</p>
<blockquote>
<p>Was mir aber grade noch auffällt: dein ifstream Objekt öffnet ja die Datei, du schließt das Handle aber nicht mehr sauber (afaik wird das Handle im Konstruktor nicht geschlossen, weiß da jemand was dazu?), mach doch mal noch ein .close() rein.</p>
</blockquote>
<p>fstream schrieb:</p>
<blockquote>
<p>/**<br />
* @brief The destructor closes the file first.<br />
*/<br />
virtual<br />
~basic_filebuf()<br />
{ this-&gt;close(); }</p>
</blockquote>
<p>Anders wär's auch schlecht.</p>
<p>Du kannst keine chars und Stringliterate zusammenfügen, was du machst ist wieder ungültige Pointeraddition.</p>
<pre><code class="language-cpp">ifstream datei((string(1,alph[i])+&quot;:\\test.txt&quot;).c_str());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1804583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804583</guid><dc:creator><![CDATA[Nanyuki]]></dc:creator><pubDate>Fri, 06 Nov 2009 18:36:56 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 18:35:36 GMT]]></title><description><![CDATA[<p>Nanyuki schrieb:</p>
<blockquote>
<p>blub² schrieb:</p>
<blockquote>
<p>Was mir aber grade noch auffällt: dein ifstream Objekt öffnet ja die Datei, du schließt das Handle aber nicht mehr sauber (afaik wird das Handle im Konstruktor nicht geschlossen, weiß da jemand was dazu?), mach doch mal noch ein .close() rein.</p>
</blockquote>
<p>fstream schrieb:</p>
<blockquote>
<p>/**<br />
* @brief The destructor closes the file first.<br />
*/<br />
virtual<br />
~basic_filebuf()<br />
{ this-&gt;close(); }</p>
</blockquote>
<p>Anders wär's auch schlecht.</p>
<p>Du kannst keine chars und Stringliterate zusammenfügen, also:</p>
<pre><code class="language-cpp">ifstream datei(string(alph[i],1)+&quot;\\test.txt &quot;);
</code></pre>
</blockquote>
<p>Ah, danke dir. Stimmt, alles andere wäre blöd aber wer weiß ;).</p>
<p>@check_fileq Ich dachte in deinem Array steht A,B,C,D?<br />
Aber dass das D nicht ausgegeben wird ist ja klar, wenn die Datei auf C:\ gefunden wurde springst du ja mit return 1 aus der Funktion raus -&gt; D wird garnicht geprüft geschweige denn ausgegeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804584</guid><dc:creator><![CDATA[blub* 0]]></dc:creator><pubDate>Fri, 06 Nov 2009 18:35:36 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 18:47:37 GMT]]></title><description><![CDATA[<p>Ja das D nicht ausgeben wird wenn ich nur bis 3 Zähle ist schon klar aber darum ging es ja net ^^</p>
<p>Aber wie kann ich jetzt auf den verschiedenen Laufwerken Überprüfen ob die Datei existiert ohne jedes mal z.b. zu schreiben:</p>
<pre><code class="language-cpp">ifstream datei ( &quot;a:\\test.txt&quot; ); 
ifstream datei2( &quot;b:\\test.txt&quot; ); 
ifstream datei2( &quot;c:\\test.txt&quot; );
</code></pre>
<p>Mir fällt nix mehr ein wie man das anders lösen könnte <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1804592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804592</guid><dc:creator><![CDATA[check_file]]></dc:creator><pubDate>Fri, 06 Nov 2009 18:47:37 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 18:50:09 GMT]]></title><description><![CDATA[<p>Du setzt dir den string einfach zusammen.</p>
<p><a href="http://www.cplusplus.com/reference/string/string/append/" rel="nofollow">http://www.cplusplus.com/reference/string/string/append/</a></p>
<p>Oder was mit streams, falls du auch Zahlen reinschubsen musst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804593</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 06 Nov 2009 18:50:09 GMT</pubDate></item><item><title><![CDATA[Reply to Prüfen auf welchem Laufwerk welche Datei ist on Fri, 06 Nov 2009 19:16:18 GMT]]></title><description><![CDATA[<p>Habs hinbekommen ty drakon <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>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;fstream&gt;
using namespace std;

int main ()
{

char count[] = {'A','B','C','D'};

  for (int i=0;i&lt;4;i++)
  {

  string str;
  string str2=&quot;:\\test.txt &quot;;

  str.append&lt;char&gt;( 1 , count[i] ) ;
  str.append(str2);

  ifstream datei ( str.c_str()  );

  cout&lt;&lt;str &lt;&lt; endl ;

        if (datei.good() )
        {
           cout&lt;&lt;&quot;ok&quot; &lt;&lt; endl ;
        }

        else
        {
          cout&lt;&lt;&quot;err&quot; &lt;&lt; endl ;
        }

  }

system(&quot;PAUSE&quot;);
return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1804605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804605</guid><dc:creator><![CDATA[check_file]]></dc:creator><pubDate>Fri, 06 Nov 2009 19:16:18 GMT</pubDate></item></channel></rss>