<?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 beim Anlegen einer Datei mit ofstream::open und langem Dateinamen]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich hab folgendes Problem festgestellt. In meinem Programm muss eine Datei in einem Benutzer-definierten Verzeichnis angeleget werden. Dies geschieht bei mir zur Zeit so:</p>
<pre><code>std::ofstream file;
file.open(&lt;Pfad&gt;/&lt;Dateiname&gt;);
/*
  ...
/*
file.close();
</code></pre>
<p>Wählt der Benutzer ein Verzeichnis mit sehr langem Pfad, scheitert die open function.<br />
Meine Tests haben gezeigt, dass die Grenze für das erfolgreiche Anlegen einer Datei 259 Zeichen sind, unabhängig davon wieviel von den Zeichen zum Pfad und wieviel zum Dateinamen gehören.</p>
<p>Gleiches Problem besteht bei der rename() Funktion aus stdio.h und vermutlich auch bei allen anderen Funktionen bzgl. Datei-Verarbeitung.</p>
<p>Meine Fragen:<br />
1. Wieso ausgerechnet 259? 256 wäre mir ja noch irgendwie plausibel gewesen...<br />
2. Wie kann ich das Problem beheben/umgehen?</p>
<p>Danke für eure Hilfe<br />
Gruß<br />
mvp</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/172772/problem-beim-anlegen-einer-datei-mit-ofstream-open-und-langem-dateinamen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 01:41:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/172772.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Feb 2007 10:59:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim Anlegen einer Datei mit ofstream::open und langem Dateinamen on Thu, 08 Feb 2007 10:59:11 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich hab folgendes Problem festgestellt. In meinem Programm muss eine Datei in einem Benutzer-definierten Verzeichnis angeleget werden. Dies geschieht bei mir zur Zeit so:</p>
<pre><code>std::ofstream file;
file.open(&lt;Pfad&gt;/&lt;Dateiname&gt;);
/*
  ...
/*
file.close();
</code></pre>
<p>Wählt der Benutzer ein Verzeichnis mit sehr langem Pfad, scheitert die open function.<br />
Meine Tests haben gezeigt, dass die Grenze für das erfolgreiche Anlegen einer Datei 259 Zeichen sind, unabhängig davon wieviel von den Zeichen zum Pfad und wieviel zum Dateinamen gehören.</p>
<p>Gleiches Problem besteht bei der rename() Funktion aus stdio.h und vermutlich auch bei allen anderen Funktionen bzgl. Datei-Verarbeitung.</p>
<p>Meine Fragen:<br />
1. Wieso ausgerechnet 259? 256 wäre mir ja noch irgendwie plausibel gewesen...<br />
2. Wie kann ich das Problem beheben/umgehen?</p>
<p>Danke für eure Hilfe<br />
Gruß<br />
mvp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224954</guid><dc:creator><![CDATA[mr.mvp]]></dc:creator><pubDate>Thu, 08 Feb 2007 10:59:11 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Anlegen einer Datei mit ofstream::open und langem Dateinamen on Thu, 08 Feb 2007 11:14:45 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich tippe auf eine Betriebssystembeschränkung.<br />
Falls Windows: strlen(&quot;c:\&quot;) + 256 = 259...</p>
<p>EDIT: <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="😡"
    /> <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="😡"
    /> Aaaargh: Wo ist mein einfacher backslash, wenn ich absende ? Bei der Vorschau ist er da ! ...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224965</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 08 Feb 2007 11:14:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Anlegen einer Datei mit ofstream::open und langem Dateinamen on Thu, 08 Feb 2007 11:23:28 GMT]]></title><description><![CDATA[<p>Das würde meine erste Frage erklären, Danke!<br />
Bleibt die Frage, wie ich das umgehen kann...</p>
<p>Gruß,<br />
mvp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224971</guid><dc:creator><![CDATA[mr.mvp]]></dc:creator><pubDate>Thu, 08 Feb 2007 11:23:28 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Anlegen einer Datei mit ofstream::open und langem Dateinamen on Thu, 08 Feb 2007 12:05:29 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Also NTFS kann eigentlich ca. 32.000 Zeichen. Unter folgendem Link findest du dazu Infos:<br />
<a href="http://msdn2.microsoft.com/en-us/library/aa365247.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/aa365247.aspx</a><br />
Guck dir außerdem mal die API-Funktion <a href="http://msdn2.microsoft.com/en-us/library/aa363858.aspx" rel="nofollow">CreateFile</a> an. In der Unicode-Version kannst du &quot;32,767 wide characters&quot; verwenden, in der ANSI-Version ist die Funktion auf MAX_PATH beschränkt.</p>
<p>Greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224988</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Thu, 08 Feb 2007 12:05:29 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Anlegen einer Datei mit ofstream::open und langem Dateinamen on Thu, 08 Feb 2007 13:31:10 GMT]]></title><description><![CDATA[<p>Das war ja schonmal interessant. Leider kann man solche Dateien, die mit einer Unicode-Funktion angelegt wurden, im Windows-Explorer nicht mehr löschen, öffnen oder sonst etwas. Löschen geht nur mit der entsprechenden Unicode-Version der remove Funktion (_wremove). Ist mir zu umständlich, ich werds bei ner Fehlermeldung für den Benutzer belassen.</p>
<p>Vielen Dank für die Hinweise.<br />
mvp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1225041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1225041</guid><dc:creator><![CDATA[mr.mvp]]></dc:creator><pubDate>Thu, 08 Feb 2007 13:31:10 GMT</pubDate></item></channel></rss>