<?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 Deiteinamenlänge]]></title><description><![CDATA[<p>Hallo!</p>
<p>Folgendes Problem, wo ich eure Hilfe benötige:</p>
<p>Ich lese in einen std::string ein Dateinamen ein. Die Dateinamen sind 40 Zeichen lang! Habe da leider auch keinen Einfluss drauf.</p>
<p>In meinem Programm übergebe ich den Dateinamen in die Variable um den Stream zu öffnen:</p>
<pre><code>ifstream file_stream(variable.c_str(), ios::in);

    if (!file_stream)
        return false;
</code></pre>
<p>Mein Programm steigt dann an dieser Stelle beim Öffnen aus. Wenn ich den Dateinamen händisch eingebe (also mit &quot; &quot;) funktionierts! Wenn ich den Dateinamen in Windows verkürze gehts auch!</p>
<p>Ich will aber nicht 50 oder mehr Dateien ständig umbennen.</p>
<p>Hat jemand eine Lösung zu meinem Problem? Was kann ich tun? Gibt es eine Möglichkeit, dass meine langen Dateien geöffnet werden? Kann mir jemand sagen wie viele Zeichen da max. möglich sind?</p>
<p>Vielen Dank für eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/184076/problem-mit-deiteinamenlänge</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 14:41:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184076.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Jun 2007 08:04:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 08:04:51 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Folgendes Problem, wo ich eure Hilfe benötige:</p>
<p>Ich lese in einen std::string ein Dateinamen ein. Die Dateinamen sind 40 Zeichen lang! Habe da leider auch keinen Einfluss drauf.</p>
<p>In meinem Programm übergebe ich den Dateinamen in die Variable um den Stream zu öffnen:</p>
<pre><code>ifstream file_stream(variable.c_str(), ios::in);

    if (!file_stream)
        return false;
</code></pre>
<p>Mein Programm steigt dann an dieser Stelle beim Öffnen aus. Wenn ich den Dateinamen händisch eingebe (also mit &quot; &quot;) funktionierts! Wenn ich den Dateinamen in Windows verkürze gehts auch!</p>
<p>Ich will aber nicht 50 oder mehr Dateien ständig umbennen.</p>
<p>Hat jemand eine Lösung zu meinem Problem? Was kann ich tun? Gibt es eine Möglichkeit, dass meine langen Dateien geöffnet werden? Kann mir jemand sagen wie viele Zeichen da max. möglich sind?</p>
<p>Vielen Dank für eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303730</guid><dc:creator><![CDATA[xr800]]></dc:creator><pubDate>Tue, 12 Jun 2007 08:04:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 08:21:20 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Mit welcher Windowsversion arbeitest du denn? In W2k und WXP können die Dateinamen 255 Zeichen lang sein (inklusive Pfad). Das Problem ist wohl ein anderes.<br />
Sind da vielleicht Leerzeichen oder sowas drin, die beim einlesen verloren gehen?<br />
Hast du mal kontrolliert, ob der name in deinem String korrekt ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303737</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 12 Jun 2007 08:21:20 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 09:41:12 GMT]]></title><description><![CDATA[<p>Wie es steigt aus? Stürzt es richtig ab?<br />
Und wenn Du den Namen mit 50 Zeichen direkt als Literal angibst, funktioniert es?</p>
<p>Welchen Compiler bzw. Stdlib-Implementierung benutzt du?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303786</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 12 Jun 2007 09:41:12 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 09:44:03 GMT]]></title><description><![CDATA[<p>Lass dir einfach mal &quot;variable.c_str()&quot; ausgeben (wie Braunstein schon sagte).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303788</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Tue, 12 Jun 2007 09:44:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 09:47:09 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>In W2k und WXP können die Dateinamen 255 Zeichen lang sein (inklusive Pfad). Das Problem ist wohl ein anderes.</p>
</blockquote>
<p>das passiert manchmal schneller als man denkt.</p>
<p>C:\Dokumente und Einstellungen\meintollerbenutzername\Anwendungsdaten\blödeC++IDE\Profil2348\workspace\Projects\testprogramm\src\Daten\dateizumlesenmitlangemnamen.txt</p>
<p>sind noch lange keine 255 zeichen, aber die idee kam rüber? ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303790</guid><dc:creator><![CDATA[winblows]]></dc:creator><pubDate>Tue, 12 Jun 2007 09:47:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 10:07:15 GMT]]></title><description><![CDATA[<p>Habe mir auch schon zuvor meine Variable ausgeben lassen. Der Dateiname wird korrekt angezeigt. Es sieht nicht so aus als ob der String sonstige Zeichen enthält. Ich lese die Dateinamen aus einer anderen Datei, wo alle aufgelistetet sind, aus.</p>
<p>Meine Dateien gebe ich ohne Pfad an, da ich das Programm direkt im gleichen Ordner laufen lasse.<br />
Abstürzen tut es nicht. Es öffnet mir einfach meine Datei nicht. Wenn ich es als Literal eingabe, also:</p>
<pre><code>ifstream file_stream(&quot;Dateiname.txt&quot;, ios::in);

    if (!file_stream)
        return false;
</code></pre>
<p>geht es und die Datei wird zum Bearbeiten geöffnet. Ich benütze Dev C++ in der Version 4.9.9.2</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303799</guid><dc:creator><![CDATA[xr800]]></dc:creator><pubDate>Tue, 12 Jun 2007 10:07:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 10:51:09 GMT]]></title><description><![CDATA[<p>Wenn der String den gleichen Dateinamen enthält, muss es gehen. Es muss also einen Unterschied geben. Zeig doch mal etwas mehr Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303844</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 12 Jun 2007 10:51:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 11:21:33 GMT]]></title><description><![CDATA[<p>mach mal testweise bitte:</p>
<pre><code class="language-cpp">assert (variable == &quot;Dateiname.txt&quot;);
</code></pre>
<p>direkt vor den Code, den du gepostet hast. (&lt;cassert&gt; einbinden).</p>
<p>edit: scheiß copy&amp;paste. Danke Braunstein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303850</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Tue, 12 Jun 2007 11:21:33 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 10:55:12 GMT]]></title><description><![CDATA[<p>Mach das besser ohne c_str() sonst werden hier nur Pointer verglichen (oder war das die Absicht?).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303852</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 12 Jun 2007 10:55:12 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 11:29:51 GMT]]></title><description><![CDATA[<p>Also mit assert wird das Programm abgebrochen!<br />
Muss also doch einen Unterschied geben. Nur komisch, dass es bei einem kürzeren Dateinamen genau so wie ichs jetzt habe klappt?!</p>
<p>Hier mal mein Code:</p>
<pre><code>bool search(const string&amp; file_name)
{

    string file_intern(&quot;Abc-Abc&quot;);
    file_intern += file_name;
    file_intern += &quot;.dat&quot;;

    assert (file_intern.c_str() == &quot;Abc-Abc01234567890abcdefghijklmnopqrstuvwxyz.dat&quot;); 
    ifstream file_stream(file_intern.c_str(), ios::in);

    if (!file_stream)
        return false;

    cout &lt;&lt; &quot;blablabla&quot;;
    return true;
}

int main()
{
    ifstream file_stream(&quot;Auslesen.txt&quot;, ios::in);
    if (!file_stream)
        return -1;

    string input;
    while (file_stream.eof() == false)
    {
        for (unsigned short x = 0; (x &lt; 3 &amp;&amp; file_stream.eof() == false); ++x)
        {
            file_stream &gt;&gt; input;
            if (x == 0)
               search(input);
        }
    }
    system(&quot;PAUSE&quot;);
}
</code></pre>
<p>Auslesen.txt sieht folgendermaßen aus:</p>
<pre><code>01234567890abcdefghijklmnopqrstuvwxyz 12:00 11.06.2007
abcdefghijklmnopqrstuvwxyz01234567890 13:00 12.06.2007
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1303879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303879</guid><dc:creator><![CDATA[xr800]]></dc:creator><pubDate>Tue, 12 Jun 2007 11:29:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 11:33:17 GMT]]></title><description><![CDATA[<p>Die Assertion ohne .c_str( )!</p>
<p>greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303884</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Tue, 12 Jun 2007 11:33:17 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 11:40:52 GMT]]></title><description><![CDATA[<p>Sorry hat ich übersehen!<br />
Gehen tuts so oder so nicht <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/1303888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303888</guid><dc:creator><![CDATA[xr800]]></dc:creator><pubDate>Tue, 12 Jun 2007 11:40:52 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 11:40:59 GMT]]></title><description><![CDATA[<p>sagte ich doch. <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/1303889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303889</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 12 Jun 2007 11:40:59 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 11:45:00 GMT]]></title><description><![CDATA[<p>und woran liegts?! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303891</guid><dc:creator><![CDATA[xr800]]></dc:creator><pubDate>Tue, 12 Jun 2007 11:45:00 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 12:07:31 GMT]]></title><description><![CDATA[<p>OK, habe deinen Code kopiert (paar includes zugebaut), mir die Datei Auslesen.txt erstellt mit dem Inhalt</p>
<pre><code>01234567890abcdefghijklmnopqrstuvwxyz 12:00 11.06.2007
abcdefghijklmnopqrstuvwxyz01234567890 13:00 12.06.2007
</code></pre>
<p>und die Datei Abc-Abc01234567890abcdefghijklmnopqrstuvwxyz.dat einfach leer.</p>
<p>Wunderbar, &quot;search&quot; wird aufgerufen, ich komme durch die Assertion, er öffnet die Datei, der Stream ist OK (ich fliege also nicht vorzeitig raus).<br />
Dann kommt der zweite Aufruf von &quot;search&quot; mit &quot;abcdefghijklmnopqrstuvwxyz01234567890&quot;. Da fliege ich natürlich dann bei der Assertion raus, weil der Name ja diesmal ein anderer ist.</p>
<p>Also alles, wie erwartet. Bei mir läuft dein Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303909</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Tue, 12 Jun 2007 12:07:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 15:46:17 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">bool search(const std::string&amp; file_name)
{
    std::string file_intern(&quot;Abc-Abc&quot;);
    file_intern += file_name;
    file_intern += &quot;.dat&quot;;

    std::ifstream file_stream(file_intern.c_str(), std::ios::in);
    return (!file_stream ? false : true);
}

int main()
{
    std::ifstream file_stream(&quot;Auslesen.txt&quot;, std::ios::in);
    if (!file_stream)
        return -1;

    std::string input;
    while (std::getline(file_stream, input))
        if (search(input.substr(input.find_first_of(' '))) == false)
            std::cerr &lt;&lt; &quot;Zeile: &quot; &lt;&lt; input &lt;&lt; std::endl;
}
</code></pre>
<p><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/1304191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304191</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 12 Jun 2007 15:46:17 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 15:49:18 GMT]]></title><description><![CDATA[<blockquote>
<pre><code class="language-cpp">return (!file_stream ? false : true);
</code></pre>
</blockquote>
<p>rofl mao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1304196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304196</guid><dc:creator><![CDATA[sdoi]]></dc:creator><pubDate>Tue, 12 Jun 2007 15:49:18 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Deiteinamenlänge on Tue, 12 Jun 2007 16:40:46 GMT]]></title><description><![CDATA[<p>hallo xr800,</p>
<p>wie wird der Dateistring denn erzeugt/geschrieben? vielleicht schwirrt ja am Ende noch so ein hässliches line feed / cariage return rum? Gib deshalb mal in deinem Programm den zuvor eingelesenen Dateinamen HEXADEZIMAL aus. Siehst du da irgendwo sowas wie 0A oder 0D?</p>
<p>von Ney</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1304246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304246</guid><dc:creator><![CDATA[nexperty]]></dc:creator><pubDate>Tue, 12 Jun 2007 16:40:46 GMT</pubDate></item></channel></rss>