<?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[Hile bei FilePointer benötigt]]></title><description><![CDATA[<p>Hallo Liebe C++ Freunde:<br />
Hier zunächst mein Programm:</p>
<pre><code class="language-cpp">#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;arpa/inet.h&gt;
#include &lt;unistd.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;string&gt;
#include&lt;iostream&gt;
#include&lt;errno.h&gt;
#include&lt;fcntl.h&gt;
#include&lt;sys/stat.h&gt;
#include&lt;vector&gt;

using namespace std;

class kontaktlist
{
public:
char *puffer,*cpuffer,*token;

	kontaktlist(char* begin,char *neu) {
		readlist(begin);
 		cout&lt;&lt;&quot;Fehler&quot;&lt;&lt;endl;
     		writelist(begin,neu);
	}

	void readlist (char *begin){
	        string end=&quot;.c&quot;;
	        string all = begin + end;
	  	char *next = &amp;all.at(0);
	    	  cout&lt;&lt;next&lt;&lt;endl;
	  	FILE *pfile = fopen(next,&quot;a+&quot;);
			if(pfile==NULL)
			{
		   	   	cout&lt;&lt;&quot;Error: &quot;&lt;&lt;strerror(errno)&lt;&lt;endl;
		   	}else{
	  	   	   fseek(pfile,0,SEEK_END);
	  	   	   int size = ftell(pfile);
	  	   	   rewind(pfile);
		     		cout&lt;&lt;size&lt;&lt;endl;
	  	   	   fread(puffer,1,size,pfile);
	  	  	   puffer[size] = '\0';
	    	     		cout&lt;&lt;&quot;Datei &quot;&lt;&lt;next&lt;&lt;&quot; gelesen&quot;&lt;&lt;endl;
            	     		cout&lt;&lt;puffer&lt;&lt;endl;
		   	   	}
			fclose(pfile);
	}

	void writelist(char *begin_w,string neu){
	    string end_w =&quot;.c&quot;;
	    string all_w = begin_w + end_w;
	    char *next_w = &amp;all_w.at(0);

	       cout&lt;&lt;next_w&lt;&lt;endl;
	    FILE *pfile_w = fopen(next_w,&quot;ab+&quot;);
		if(pfile_w==NULL)
		{
	              cout&lt;&lt;&quot;Error: &quot;&lt;&lt;strerror(errno)&lt;&lt;endl; 
	            fclose(pfile_w);
		}else{
		    fseek(pfile_w,0,SEEK_END);
 	            int size_w = ftell(pfile_w);
		    neu= neu + ';';
		    char *neu_w = &amp;neu.at(0);
	  	    fwrite(neu_w,1,size_w,pfile_w);
		      cout&lt;&lt;&quot;Datei &quot;&lt;&lt;next_w&lt;&lt;&quot; neugeschrieben&quot;&lt;&lt;endl;
		      cout&lt;&lt;neu_w&lt;&lt;endl;
		    fclose(pfile_w);
		}
	}
   }
};
 int main(){
    kontaktlist test(&quot;marko&quot;,&quot;buh&quot;);
    return 0;
 }
</code></pre>
<p>Es soll:<br />
wenn readlist aufgerufen wird die Datei &quot;marko.c&quot; öffnen wobei nur der Dateiname eingegeben werden soll. Wenn die Datei nichgt existiert, so legt er sie an.<br />
Amschließend soll er die Datei lesen und den Inhalt zurückgeben und ausgeben.<br />
Writelist ist dazu gedacht, dass er die datei &quot;marko.c&quot; öffnet (wobei wieder nur marko eingegeben wird) und einen neuen Inhalt an den alten, in anhängen soll. jedoch soll an dem neuen Inhalt in der Methode ein ; angehängt werden (siehe neu= neu + ';'; ) und die Datei natürlich wie nach readlist schließen. Die Methoden sollen unabhängig voneinander sein daher das doppelte öffnen und schließen.<br />
Nun zu den Bugs::<br />
1)wenn readlist eine neue Datei anlegt is sie demzufolge leer und writelist weigert sich da etwas reinzuschreiben.<br />
2)schreibt mir readlist (wenn ich manuell ein Zeichen in die Datei reingeschriebn habe , hier ein <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="😉"
    /> ;b statt ;buh; obwohl laut cout&lt;&lt;neu_w&lt;&lt;endl; ein buh; in der Variablen drinne is<br />
3.) ist der Inhalt der Datei länger als 3 Zeichen so meldet re4adlist vor fclose(bla) einen Speicherzugriffsfehler.</p>
<p>und es soll unter Linux laufen !!</p>
<p>pls helped mee</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/136007/hile-bei-filepointer-benötigt</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 06:10:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/136007.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 06 Feb 2006 17:20:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hile bei FilePointer benötigt on Mon, 06 Feb 2006 17:20:55 GMT]]></title><description><![CDATA[<p>Hallo Liebe C++ Freunde:<br />
Hier zunächst mein Programm:</p>
<pre><code class="language-cpp">#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;arpa/inet.h&gt;
#include &lt;unistd.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;string&gt;
#include&lt;iostream&gt;
#include&lt;errno.h&gt;
#include&lt;fcntl.h&gt;
#include&lt;sys/stat.h&gt;
#include&lt;vector&gt;

using namespace std;

class kontaktlist
{
public:
char *puffer,*cpuffer,*token;

	kontaktlist(char* begin,char *neu) {
		readlist(begin);
 		cout&lt;&lt;&quot;Fehler&quot;&lt;&lt;endl;
     		writelist(begin,neu);
	}

	void readlist (char *begin){
	        string end=&quot;.c&quot;;
	        string all = begin + end;
	  	char *next = &amp;all.at(0);
	    	  cout&lt;&lt;next&lt;&lt;endl;
	  	FILE *pfile = fopen(next,&quot;a+&quot;);
			if(pfile==NULL)
			{
		   	   	cout&lt;&lt;&quot;Error: &quot;&lt;&lt;strerror(errno)&lt;&lt;endl;
		   	}else{
	  	   	   fseek(pfile,0,SEEK_END);
	  	   	   int size = ftell(pfile);
	  	   	   rewind(pfile);
		     		cout&lt;&lt;size&lt;&lt;endl;
	  	   	   fread(puffer,1,size,pfile);
	  	  	   puffer[size] = '\0';
	    	     		cout&lt;&lt;&quot;Datei &quot;&lt;&lt;next&lt;&lt;&quot; gelesen&quot;&lt;&lt;endl;
            	     		cout&lt;&lt;puffer&lt;&lt;endl;
		   	   	}
			fclose(pfile);
	}

	void writelist(char *begin_w,string neu){
	    string end_w =&quot;.c&quot;;
	    string all_w = begin_w + end_w;
	    char *next_w = &amp;all_w.at(0);

	       cout&lt;&lt;next_w&lt;&lt;endl;
	    FILE *pfile_w = fopen(next_w,&quot;ab+&quot;);
		if(pfile_w==NULL)
		{
	              cout&lt;&lt;&quot;Error: &quot;&lt;&lt;strerror(errno)&lt;&lt;endl; 
	            fclose(pfile_w);
		}else{
		    fseek(pfile_w,0,SEEK_END);
 	            int size_w = ftell(pfile_w);
		    neu= neu + ';';
		    char *neu_w = &amp;neu.at(0);
	  	    fwrite(neu_w,1,size_w,pfile_w);
		      cout&lt;&lt;&quot;Datei &quot;&lt;&lt;next_w&lt;&lt;&quot; neugeschrieben&quot;&lt;&lt;endl;
		      cout&lt;&lt;neu_w&lt;&lt;endl;
		    fclose(pfile_w);
		}
	}
   }
};
 int main(){
    kontaktlist test(&quot;marko&quot;,&quot;buh&quot;);
    return 0;
 }
</code></pre>
<p>Es soll:<br />
wenn readlist aufgerufen wird die Datei &quot;marko.c&quot; öffnen wobei nur der Dateiname eingegeben werden soll. Wenn die Datei nichgt existiert, so legt er sie an.<br />
Amschließend soll er die Datei lesen und den Inhalt zurückgeben und ausgeben.<br />
Writelist ist dazu gedacht, dass er die datei &quot;marko.c&quot; öffnet (wobei wieder nur marko eingegeben wird) und einen neuen Inhalt an den alten, in anhängen soll. jedoch soll an dem neuen Inhalt in der Methode ein ; angehängt werden (siehe neu= neu + ';'; ) und die Datei natürlich wie nach readlist schließen. Die Methoden sollen unabhängig voneinander sein daher das doppelte öffnen und schließen.<br />
Nun zu den Bugs::<br />
1)wenn readlist eine neue Datei anlegt is sie demzufolge leer und writelist weigert sich da etwas reinzuschreiben.<br />
2)schreibt mir readlist (wenn ich manuell ein Zeichen in die Datei reingeschriebn habe , hier ein <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="😉"
    /> ;b statt ;buh; obwohl laut cout&lt;&lt;neu_w&lt;&lt;endl; ein buh; in der Variablen drinne is<br />
3.) ist der Inhalt der Datei länger als 3 Zeichen so meldet re4adlist vor fclose(bla) einen Speicherzugriffsfehler.</p>
<p>und es soll unter Linux laufen !!</p>
<p>pls helped mee</p>
]]></description><link>https://www.c-plusplus.net/forum/post/987755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/987755</guid><dc:creator><![CDATA[DanteMcRayne]]></dc:creator><pubDate>Mon, 06 Feb 2006 17:20:55 GMT</pubDate></item><item><title><![CDATA[Reply to Hile bei FilePointer benötigt on Mon, 06 Feb 2006 17:33:31 GMT]]></title><description><![CDATA[<p>der Smily soll ein <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="😉"
    /> sein<br />
ps: verschrieben das soll Hilfe heißen oO</p>
]]></description><link>https://www.c-plusplus.net/forum/post/987769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/987769</guid><dc:creator><![CDATA[DanteMcRayne]]></dc:creator><pubDate>Mon, 06 Feb 2006 17:33:31 GMT</pubDate></item></channel></rss>