|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 19.07.2004, 16:31 Titel: [Allgemein] Tipps und Tricks |
|
|
bool Variable ändern
Folgender Code verändert eine bool-Variable, also von true auf false und umgekerht sehr effizient und ohne eine einzige Abfrage:
Code: |
bool bVariable=false;
bVaraible=!bVariable;
|
bVariable wird also auf ungleich bVariable gesetzt, also auf ihr Gegenteil.
Ternär Operator
(Nachtrag von MiracleBoy)
Der ternäre Operator ist eine inline if Abfrage.
Ein Code sagt mehr als Tausend Worte:
Code: |
bool bTrue, bFalse;
int nv;
bTrue = TRUE;
bFalse = FALSE;
nv = bTrue ? 1 : 2; // weil bTrue wahr ist wird nV die zahl 1 zugewiesen!
nv = bFalse ? 1 : 2; // weil bFalse unwahr ist wird nV die zahl 2 zugewiesen!
|
Einfach, oder?
Das "?" ist der ternäre operator, "1" und "2" jeweils die Möglichkeiten die je nach true o. false der bool variable vor dem "?" der gewünschten variable(hier nv) zugewiesen werden. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 10.10.2004, 11:24 Titel: |
|
|
Noch ein Tipp:
Wer einen Text aus einer Textdatei mit fgets() ließt, wird manchmal Probleme haben wenn er ihn mit anderen Strings vergleichen will, oder per Windows Funktion TextOut() anzeigen will.
Das problem besteht in dem '\n' Zeichen, dem Zeilenumbruch. Da ein String erst bei einem '\0' Zeichen als abgeschlossen gilt, wird dieses Zeichen in Windows als ein Fehlerzeichen dargestellt, und erschwert das vergleichen von Strings, da der eine ein '\n' enthät und der ander nicht. Folgender Code schafft abhilfe:
Code: |
fgets(Puffer, 255, Datei);
//Das Zeichenumstaltzeichen löschen:
if('\n'==Puffer[strlen(Puffer)-1])
{
Puffer[strlen(Puffer)-1]='\0';
} |
_________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|