<?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[Datei-basierender Chat]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich bin absoluter Anfänger, das vorweg, und würde liebend gerne C++ lernen ;)... Nun habe ich ein schönes Ziel gefunden und angefangen so zu arbeiten, doch dann frage ich mich nun, nachdem ich schon halb fertig bin, ob mein vorhaben überhaupt realisierbar ist...</p>
<p>Also meine Idee ist folgende: In einer ebenfalls vom Programm erstellbaren Chat-Datei (beliebiger Name.txt) soll gechattet werden können. Spezieller Anwendungszweck: Netzwerk mit gemeinsamen Dateien. Zwei User haben das gleiche Programm, das ist eine wichtige vorraussetzung. Also User 1 öffnet jede Sekunde die Datei und überprüft, ob eine neue Zeile in der Datei hinzugekommen ist (von User 2 geschrieben). Wenn ja, wird diese Zeile ausgegeben. Wenn nein, eben nicht ;)... Geschrieben wird ähnlich: Ein User gibt einen Text ein, der dann in die Datei geschrieben wird.</p>
<p>Dabei habe ich aber einige Fragen oder Probleme, die ich mir vorstellen könnte: Können zwei fopen-Aktionen gleichzeitig auf eine Datei ausgeführt werden? Bzw. wie lange dauert eine solche fopen-Datei lesen-fclose-Aktion, also wie hoch ist die Wahrscheinlichkeit einer überschneidung? Habe ich einen groben Denkfehler gemacht, oder etwas übersehen etc?</p>
<p>Danke schonmal für Rückmeldung <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>
<p>Gruß,</p>
<p>Jonathan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/220262/datei-basierender-chat</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 09:55:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/220262.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Aug 2008 18:28:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datei-basierender Chat on Wed, 13 Aug 2008 18:28:05 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich bin absoluter Anfänger, das vorweg, und würde liebend gerne C++ lernen ;)... Nun habe ich ein schönes Ziel gefunden und angefangen so zu arbeiten, doch dann frage ich mich nun, nachdem ich schon halb fertig bin, ob mein vorhaben überhaupt realisierbar ist...</p>
<p>Also meine Idee ist folgende: In einer ebenfalls vom Programm erstellbaren Chat-Datei (beliebiger Name.txt) soll gechattet werden können. Spezieller Anwendungszweck: Netzwerk mit gemeinsamen Dateien. Zwei User haben das gleiche Programm, das ist eine wichtige vorraussetzung. Also User 1 öffnet jede Sekunde die Datei und überprüft, ob eine neue Zeile in der Datei hinzugekommen ist (von User 2 geschrieben). Wenn ja, wird diese Zeile ausgegeben. Wenn nein, eben nicht ;)... Geschrieben wird ähnlich: Ein User gibt einen Text ein, der dann in die Datei geschrieben wird.</p>
<p>Dabei habe ich aber einige Fragen oder Probleme, die ich mir vorstellen könnte: Können zwei fopen-Aktionen gleichzeitig auf eine Datei ausgeführt werden? Bzw. wie lange dauert eine solche fopen-Datei lesen-fclose-Aktion, also wie hoch ist die Wahrscheinlichkeit einer überschneidung? Habe ich einen groben Denkfehler gemacht, oder etwas übersehen etc?</p>
<p>Danke schonmal für Rückmeldung <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>
<p>Gruß,</p>
<p>Jonathan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1564280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1564280</guid><dc:creator><![CDATA[Mefisto]]></dc:creator><pubDate>Wed, 13 Aug 2008 18:28:05 GMT</pubDate></item><item><title><![CDATA[Reply to Datei-basierender Chat on Wed, 13 Aug 2008 21:30:07 GMT]]></title><description><![CDATA[<p>Mefisto schrieb:</p>
<blockquote>
<p>User 1 öffnet jede Sekunde die Datei und überprüft, ob eine neue Zeile in der Datei hinzugekommen ist (von User 2 geschrieben). Wenn ja, wird diese Zeile ausgegeben. Wenn nein, eben nicht ;)... Geschrieben wird ähnlich: Ein User gibt einen Text ein, der dann in die Datei geschrieben wird.</p>
</blockquote>
<p>Warum übergibst du die Zeile nicht gleich an den anderen PC( per sockets )? einfach über threads senden/empfangen-&gt;ausgeben</p>
<p>EDIT:</p>
<p>Mefisto schrieb:</p>
<blockquote>
<p>Können zwei fopen-Aktionen gleichzeitig auf eine Datei ausgeführt werden?</p>
</blockquote>
<p>Zumindest mit std::ifstream sollte das soweit ich weiß möglich sein.</p>
<p>Die ganze Idee ist sowieso uneffektiv, wenn du die selbe Datei auf beiden Rechnern öffnen willst muss sie ja für beide zugänglich sein( samba-share oder sowas ) + du verschwendest unnötig viele ressourcen: usr1: Datei öffnen-&gt;in Datei schreiben-&gt;datei schließen; usr 2: datei öffnen-&gt;prüfen ob neue zeile vorhanden ist-&gt;zeile auslesen; Außerdem musst du ja irgendwo die Adresse der Datei, die ja nur auf einem von beiden pcs liegt, herausbekommen - das alles könnte man sich sparen <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/1564367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1564367</guid><dc:creator><![CDATA[double *T]]></dc:creator><pubDate>Wed, 13 Aug 2008 21:30:07 GMT</pubDate></item><item><title><![CDATA[Reply to Datei-basierender Chat on Thu, 14 Aug 2008 12:42:00 GMT]]></title><description><![CDATA[<p>Die beiden &quot;Clients&quot; miteinander zu verbinden wäre für mich viel zu kompliziert, ich weis nichtmal ansatzweise, wie sowas gehen soll. Außerdem geht es ja um einen Chat innerhalb eines Netwerkes... Auf die Idee gekommen bin ich eigentlich während einer langweiligen Softwareschulungsstunde (Excel)... 20 PC's im Netzwerk, einen gemeinsammen Server, auf der dann die Datei liegen würde...</p>
<p>Etwas dauern darf es ja ruhig, also es muss nicht unbedingt schnell sein... Ich hab mir jetzt vorgenommen das Programm soweit erstmal hinzubekommen, ob ich das ganze hinterher noch ändere oder die Socket (??) Funktion noch hinzufüge, kann ich mir ja dann überlegen <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>
<p>Aber ich habe jetzt auch schon mein erstes Problem: Ich will ja, wie das bei einem Chat nunmal so ist, dass auch während des Tippens die Datei aktualisiert wird. Das heißt: Die Datei soll alle 2 Sekunden meinetwegen geöffnet werden, und parallel dazu soll der Benutzer eine Eingabe machen können... Ich habe leider keinen Plan, wie das parallel laufen soll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /> Wäre sehr, sehr nett, wenn ihr mir da einen Tipp geben könntet <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="🙂"
    /><br />
Gruß,</p>
<p>Jonathan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1564708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1564708</guid><dc:creator><![CDATA[Mefisto]]></dc:creator><pubDate>Thu, 14 Aug 2008 12:42:00 GMT</pubDate></item><item><title><![CDATA[Reply to Datei-basierender Chat on Thu, 14 Aug 2008 15:48:37 GMT]]></title><description><![CDATA[<p>So, ich bin fertig, und, egal wie gut, sicher oder stabil der Code und das Programm sind, ich bin mächtig stolz <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="😉"
    /> Hauptsache: Es funktioniert. Überarbeiten kann ich jetzt immernoch. Da ich unter Linux programmiert habe, muss ich das Programm noch in Windows testen, aber da ich schon beim schreiben drauf geachtet habe, dass nichts unkompatibel sein könnte, denke ich, dass es dabei auch nicht zu so vielen Problemen kommen wird.</p>
<p>Das Problem mit den parallelen Befehlen habe ich so gelöst: Der User wird dauerhaft mit einer Cin-Eingabe bombadiert. Wenn er enter drückt, wird geguckt, ob ein neuer Eintrag in der Datei ist. Wenn er einen Text eingibt, wird der Text in die Datei geschrieben (angehängt).</p>
<p>Ich würde mich wirklich sehr freuen, wenn ihr zum Code und zum Programm (konstruktive) Tipps geben könntet... Vielen Dank schonmal <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;
#include &lt;vector&gt;
#include &lt;ctime&gt;

using namespace std;

void wait() {
    cin.clear();
    cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(),
'\n');
    cin.ignore();
}

int main()
{
	string choice = &quot;&quot;;
	while(choice!=&quot;1&quot; &amp;&amp; choice!=&quot;2&quot; &amp;&amp; choice!=&quot;3&quot;)
	{
		cout &lt;&lt; &quot;Welcome to FBC, File-based Chat. This   \n&quot;;
		cout &lt;&lt; &quot;Chat worksvery simple; you can chat with\n&quot;;
		cout &lt;&lt; &quot;a partner over afile somewhere in your\n&quot;;
		cout &lt;&lt; &quot;or his system over a network-connection.\n&quot;;
		cout &lt;&lt; &quot;You don't need an internet-connection to\n&quot;;
		cout &lt;&lt; &quot;chat over the home network. Please re-\n&quot;;
		cout &lt;&lt; &quot;member: Your chat can be viewed, de-\n&quot;;
		cout &lt;&lt; &quot;or changed over the file that contains the\n&quot;;
		cout &lt;&lt; &quot;chat.\n\n&quot;;
		cout &lt;&lt; &quot;Please choose whether you want to create\n&quot;;
		cout &lt;&lt; &quot;a new file-chat or you wan't to join an\n&quot;;
		cout &lt;&lt; &quot;existing file-chat!\n\n&quot;;
		cout &lt;&lt; &quot;1. Create new File-Chat\n&quot;;
		cout &lt;&lt; &quot;2. Join existing File-Chat\n&quot;;
		cout &lt;&lt; &quot;3. Exit Program\n&quot;;
		cout &lt;&lt; &quot;4. Show Help for this step.\n\n&quot;;
		cout &lt;&lt; &quot;Please enter your choice: &quot;;
		getline (cin, choice);
		if(choice == &quot;4&quot;)
		{
			cout &lt;&lt; &quot;\n\n-----&gt; HELP for Step 1\n\n&quot;;
			cout &lt;&lt; &quot;This program allowes you to chat over a\n&quot;;
			cout &lt;&lt; &quot;file that lies somewhere on your or your\n&quot;;
			cout &lt;&lt; &quot;chat-partners system (or in the internet)\n&quot;;
			cout &lt;&lt; &quot;One partner has to create the chat-file,\n&quot;;
			cout &lt;&lt; &quot;before the other can join the chat. You\n&quot;;
			cout &lt;&lt; &quot;must choose one chat leader (that creates\n&quot;;
			cout &lt;&lt; &quot;the chat-file. If you want to create this\n&quot;;
			cout &lt;&lt; &quot;chat-file (create a new kind of \&quot;chatroom\&quot;\n&quot;;
			cout &lt;&lt; &quot;you must choose the option 1 in the menu.\n&quot;;
			cout &lt;&lt; &quot;if you partner creates the file, you just\n&quot;;
			cout &lt;&lt; &quot;need to join the chat. Choose option 2 to\n&quot;;
			cout &lt;&lt; &quot;do this. Press any key to continue!&quot;;
			wait();
		}
		if(choice==&quot;1&quot;)
		{
			string chatfilename;
			string chatdirectory;
			string leadername;
			string leaderpassword;
			string accesspassword;
			cout &lt;&lt; &quot;Chat-File-Name: &quot;;
			while(chatfilename == &quot;&quot;)
			{
				getline(cin,chatfilename);
			}
			chatfilename = chatfilename+&quot;.txt&quot;;
			cout &lt;&lt; &quot;Chat-Directory: &quot;;
			getline(cin,chatdirectory);
			while(leadername.length() &lt;= 4 || leadername.length() &gt;= 20)
			{	
				cout &lt;&lt; &quot;Enter your name: &quot;;
				getline(cin,leadername);
			}
			while(leaderpassword.length() &lt;= 6 || leaderpassword.length() &gt;= 20)
			{	
				cout &lt;&lt; &quot;Enter your password: &quot;;
				getline(cin,leaderpassword);
			}
			while(accesspassword.length() &lt;= 6 || accesspassword.length() &gt;= 20)
			{	
				cout &lt;&lt; &quot;Enter access-password: &quot;;
				getline(cin,accesspassword);
			}

			int success;
			string finalpath = chatdirectory+chatfilename;
			string finalleader = &quot;Leadername: &quot;+leadername+&quot;\nLeaderpass: &quot;+leaderpassword+&quot;\nAccesspass: &quot;+accesspassword;
			char buffer1[finalpath.length()-1];
			char buffer2[finalleader.length()-1];
			strcpy(buffer1,finalpath.c_str());
			strcpy(buffer2,finalleader.c_str());
			FILE* fp;
			fp = fopen(buffer1,&quot;w&quot;);
			if (fprintf(fp, buffer2)) { success = 1; } else { success = 0; }
			fclose(fp);
			if(success==1)
			{
				cout &lt;&lt; &quot;\n\nYour new chat had been created! Don't\n&quot;;
				cout &lt;&lt; &quot;forget your password! You can move or copy\n&quot;;
				cout &lt;&lt; &quot;the file as often as you want, all chat-di-\n&quot;;
				cout &lt;&lt; &quot;aloges will be saved within here. Press en-\n&quot;;
				cout &lt;&lt; &quot;ter to get back to the main-menu.\n&quot;;
			} else {
				cout &lt;&lt; &quot;\n\nAn error occured during writing the\n&quot;;
				cout &lt;&lt; &quot;file. Directory must end with a slah (nor-\n&quot;;
				cout &lt;&lt; &quot;mal). Press enter to get back to the main-\n&quot;;
				cout &lt;&lt; &quot;menu.\n&quot;;
			}
			wait();

		}
		if(choice == &quot;3&quot;)
		{
			return 1;
		}

		if(choice == &quot;2&quot;)
		{
			string chatfilelocation;
			string chatpassword;
			string chatusername;
			vector&lt;string&gt; rows;
			string row;
			int open = 0;
			int pass = 0;
			int counter = 0;
			while(open == 0)
			{
				cout &lt;&lt; &quot;Chat-File-Location: &quot;;
				getline(cin,chatfilelocation);
				char buffer1[chatfilelocation.length()-1];
				strcpy(buffer1,chatfilelocation.c_str());
				ifstream file(buffer1);
				if(file!=NULL) 
				{
					open = 1;
					while(getline(file,row))
					{
						if(counter &lt; 3)
						{
							row.replace(0,12,&quot;&quot;);
						}
						rows.push_back(row);
						counter++;
					}
				}
			}
			while(chatpassword.length() &lt;= 6 || chatpassword.length() &gt;= 20 || pass == 0)
			{
				cout &lt;&lt; &quot;Chat-Password: &quot;;
				getline(cin,chatpassword);
				if(chatpassword==rows[2]) { pass = 1; }
			}
			while(chatusername.length() &lt;= 4 || chatusername.length() &gt;= 20)
			{	
				cout &lt;&lt; &quot;Enter your name: &quot;;
				getline(cin,chatusername);
			}
			char buffer1[chatfilelocation.length()-1];
			strcpy(buffer1,chatfilelocation.c_str());
			ifstream file(buffer1);
			cout &lt;&lt; &quot;You logged in this file-chat successful-\n&quot;;
			cout &lt;&lt; &quot;ly! Before you start chatting, here a few\n&quot;;
			cout &lt;&lt; &quot;informations about that file-chat:\n&quot;;
			cout &lt;&lt; &quot;Leader: &quot; &lt;&lt; rows[0] &lt;&lt; endl;
			cout &lt;&lt; &quot;Lines already written: &quot; &lt;&lt; counter-3 &lt;&lt; &quot;\n\n&quot;;
			cout &lt;&lt; &quot;Check for new answers: Press enter\n&quot;;
			cout &lt;&lt; &quot;Write a text to chat-file: Just enter!\n&quot;;

			int endrequest=0;
			int countertemp = 0;
			int callrenew = 0;
			string temp;
			while(endrequest!=1)
			{
				if (callrenew != 1) {getline(cin,temp); }
				if(temp == &quot;&quot; || callrenew == 1)
				{
					ifstream file(buffer1);
					while(getline(file,row))
					{
						countertemp++;
						if(countertemp&gt;counter) { rows.push_back(row); }
					}
					if(countertemp&gt;counter)
					{
						for (int i=0; i&lt;countertemp-counter;i++)
						{
							cout &lt;&lt; &quot;&gt;&gt;&gt; &quot; &lt;&lt; rows[counter+i] &lt;&lt; endl;
						}
						counter = countertemp;
					}
					countertemp = 0;
					callrenew = 0;
				}
				if(temp!=&quot;&quot;)
				{
					time_t rawtime;
					struct tm * timeinfo;
					time ( &amp;rawtime );
					timeinfo = localtime ( &amp;rawtime );	
					ofstream file(buffer1, ios::app);
					file &lt;&lt; &quot;\n&quot; &lt;&lt; asctime (timeinfo) &lt;&lt; chatusername &lt;&lt; &quot;: &quot; &lt;&lt;temp;
					file.close();
					temp = &quot;&quot;;
					callrenew = 1;
				}

			}
		}

	choice = &quot;&quot;;
	}

	return 0;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1564872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1564872</guid><dc:creator><![CDATA[Mefisto]]></dc:creator><pubDate>Thu, 14 Aug 2008 15:48:37 GMT</pubDate></item><item><title><![CDATA[Reply to Datei-basierender Chat on Thu, 14 Aug 2008 17:39:06 GMT]]></title><description><![CDATA[<p>Also ich hab ehrlichgesagt keine Lust und Zeit mir den code anzuschaun <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="🙂"
    /> später vielleicht.</p>
<pre><code class="language-cpp">Aber ich habe jetzt auch schon mein erstes Problem: Ich will ja, 
wie das bei einem Chat nunmal so ist, dass auch während des Tippens die Datei 
aktualisiert wird. Das heißt: Die Datei soll alle 2 Sekunden meinetwegen geöffnet
 werden, und parallel dazu soll der Benutzer eine Eingabe machen können... Ich
 habe leider keinen Plan, wie das parallel laufen soll :/ Wäre sehr, sehr nett,
 wenn ihr mir da einen Tipp geben könntet :)
</code></pre>
<p>benutz doch fstreams, die<br />
erlauben lesen+schreiben auf einmal.</p>
<p>Generell zum code: benutze Klassen und Funktionen. Dein code wirkt so nämlich total unübersichtlich. Für größere Projekte ist es außerdem überlebenswichtig eben genanntes zu benutzen, wenn man 100.000 Zeilen in die main-funktion quetschen würde, würde kein Mensch mehr verstehen, was du da programmiert hast.</p>
<h2>EDIT:<br />
beim überfliegen aufgefallen:<br />
- keine kommentare benutzt</h2>
<pre><code class="language-cpp">while(chatfilename == &quot;&quot;)
{
    getline(cin,chatfilename);
}
</code></pre>
<h2>unsinn.</h2>
<pre><code class="language-cpp">if (fprintf(fp, buffer2)) { success = 1; } else { success = 0; }
</code></pre>
<h2>warum schreibst du nicht gleich die anweisungen in diese Blöcke anstatt nacher mit if(success==..) abzufragen?</h2>
<pre><code class="language-cpp">char buffer1[chatfilelocation.length()-1];
strcpy(buffer1,chatfilelocation.c_str());
ifstream file(buffer1);
</code></pre>
<p>machs so:</p>
<pre><code class="language-cpp">ifstream( chatfilelocation.c_str() )
</code></pre>
<p>mfg<br />
Double *T</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1564920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1564920</guid><dc:creator><![CDATA[double *T]]></dc:creator><pubDate>Thu, 14 Aug 2008 17:39:06 GMT</pubDate></item><item><title><![CDATA[Reply to Datei-basierender Chat on Thu, 14 Aug 2008 18:20:27 GMT]]></title><description><![CDATA[<p>Danke schonmal für die guten Tipps, die werde ich morgen gleich umsetzen! <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>
<p>Mir erschien es mit Funktionen immer genauso unübersichtlich, aber eben beim lesen ist mir ein Gedankenblitz gekommen: Ich kann die Funktionen ja in eine externe Datei schreiben und die einfach einbinden... Wow :D...</p>
<p>Liebe Grüße,</p>
<p>Jonathan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1564962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1564962</guid><dc:creator><![CDATA[Mefisto]]></dc:creator><pubDate>Thu, 14 Aug 2008 18:20:27 GMT</pubDate></item><item><title><![CDATA[Reply to Datei-basierender Chat on Thu, 14 Aug 2008 20:07:34 GMT]]></title><description><![CDATA[<blockquote>
<p>Mir erschien es mit Funktionen immer genauso unübersichtlich, aber eben beim lesen ist mir ein Gedankenblitz gekommen: Ich kann die Funktionen ja in eine externe Datei schreiben und die einfach einbinden</p>
</blockquote>
<p>Wow.. Das muss gefeiert werden.. <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>
<p>btw:<br />
Da sollte wirklich ein wenig mehr OOP rein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1565014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1565014</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 14 Aug 2008 20:07:34 GMT</pubDate></item><item><title><![CDATA[Reply to Datei-basierender Chat on Thu, 14 Aug 2008 22:09:10 GMT]]></title><description><![CDATA[<blockquote>
<p>Mir erschien es mit Funktionen immer genauso unübersichtlich, aber eben beim lesen ist mir ein Gedankenblitz gekommen: Ich kann die Funktionen ja in eine externe Datei schreiben und die einfach einbinden... Wow :D...</p>
</blockquote>
<p>Funktioonen/Klassen haben übrigends außer übersichtlichkeit viele andere Vorteile, wie codewiederverwertung, Librarys, zum Beispiel, auch selbstgeschriebene, bestehen immer aus Klassen und/oder Funktionen. Durch Funktionen/Klassen entsteht auch eine gewisse abstraktion, man schreibt also zum beispiel nur &quot;Sinus( 123 )&quot; ohne zu wissen/wissen zu müssen, was da eigentlich genau vor sich geht, anstatt mehrere zeilen code jedes mal aufs neue in die main funktion zu schreiben.<br />
Gewöhn dir das also gleich an <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="🙂"
    /><br />
mfg<br />
Double *T</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1565070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1565070</guid><dc:creator><![CDATA[double *T]]></dc:creator><pubDate>Thu, 14 Aug 2008 22:09:10 GMT</pubDate></item></channel></rss>