Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

11

07.12.2008, 19:52

TrikkieMikkie
Nein.

12

07.12.2008, 20:53

Zitat von »"Coders-Square"«

Nee, ich wollte eigentlich keine Strings nehmen, mag die nicht so.
Du musst es ja wissen. Wenn du lieber die fehleranfällige C-Variante benutzt, musst du auch mit den Konsequenzen leben. Trotzdem würde es mich interessieren, was du an std::string nicht magst... ;)

Zitat von »"drakon"«

Wobei ich eher zu ifstream geraten hätte. ;)
Stimmt, es geht ja hier um Dateien... :)

Anonymous

unregistriert

13

07.12.2008, 21:15

Zitat

Du musst es ja wissen. Wenn du lieber die fehleranfällige C-Variante benutzt, musst du auch mit den Konsequenzen leben.

Sei mir nicht böse, aber ich kanns langsam nicht mehr hören. C-Style rockt. C und C++ zu "vermischen" kann natürlich auch daneben gehen. Aber komischerweise werden immer die C-Stellen für den Fehler verantwortlich gemacht, ist noch keiner auf die Idee gekommen, dass es am Programmierer liegt der die C-Codes falsch anwendet?

So, btt:
Ich probiere gerade verschiedene Methoden aus, denke ich habe es bald.

14

07.12.2008, 21:29

Zitat von »"Coders-Square"«

Aber komischerweise werden immer die C-Stellen für den Fehler verantwortlich gemacht, ist noch keiner auf die Idee gekommen, dass es am Programmierer liegt der die C-Codes falsch anwendet?
Natürlich liegt es am Programmierer. Der Punkt ist nur, dass man mit den C++-Mitteln viel weniger Gefahr läuft, dass irgendetwas schief läuft, als mit denjenigen aus C. Man macht immer Fehler, selbst wenn man sich als guter Programmierer bezeichnet. In C wird das durch die vielen möglichen Fehlerquellen noch extremer. Man kann sich leicht Speicher zerschreiben, indem man nur versucht, einen String zu kopieren. In C++ passiert einem das viel weniger, was das Schreiben, Debuggen und Warten von Code enorm erleichtert. Ausserdem kann man Dinge wie C-Strings schlechter in objektorientierte Kontexte integrieren.

Aber wie gesagt, du musst es ja wissen, auch wenn du das nicht hören willst. Wieso nicht die einfacheren, weniger fehleranfälligen und komfortableren Mittel verwenden, wenn sie einem schon zur Verfügung stehen?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

15

07.12.2008, 21:53

Zitat von »"Nexus"«


du musst es ja wissen


Eben! Wieso wird eigentlich immer krampfhaft Versucht anderen Leuten das aufzudrängen was man selbst es besser ansieht? Ich find so Diskussionen extrem nervtötend. Ich verwende z.B. lieber printf weil es total einfach zu verwenden ist und, meiner Meinung nach, wesentlich übersichtlicher ist und schöner aussieht. Klar gibts da diverse Risiken, aber solang man sich denen gewahr ist, sollten die auch kein Problem darstellen...
@D13_Dreinig

CodingCat

1x Contest-Sieger

Beiträge: 420

Beruf: Student (KIT)

  • Private Nachricht senden

16

07.12.2008, 22:15

Das Schlimme ist nur, dass der Code oben vor genau solchen Schwachstellen nur so strotzt:

C-/C++-Quelltext

1
char *Line = { 0 };

Und dann bis zu 100 Zeichen in das "Array"...

C-/C++-Quelltext

1
fgets(Line, 100, File);
alphanew.net (last updated 2011-06-26) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite

Anonymous

unregistriert

17

08.12.2008, 06:45

Zitat

Und dann bis zu 100 Zeichen in das "Array"...
Code (C++):
fgets(Line, 100, File);

Wo ist das ein Array?
Aber gut, ich wusste noch nicht wie ich das am Besten umgehe.

18

08.12.2008, 10:20

Genau aus diesem Grund SOLLTEST du WIRKLICH strings benutzen. Mit denen kann man auch Fehler vermeidne, wenn man noch nicht komplett den Durchblick hat.
Lieber dumm fragen, als dumm bleiben!

Beneroth

Alter Hase

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

19

08.12.2008, 12:52

Zitat von »"Jonathan_Klein"«

Genau aus diesem Grund SOLLTEST du WIRKLICH strings benutzen. Mit denen kann man auch Fehler vermeidne, wenn man noch nicht komplett den Durchblick hat.


so kannst du möglicherweise auch vermeiden denn durchblick zu kriegen...


@Coders-Square:
Da ist kein Array, sondern ein Pointer auf ein "array",
wenn du mehrere Elemente des gleichen Typs zusammen speichern willst gibt das ein Array, hier eines aus char.

nur eben ist, wenn du es so wie hier machst, nicht bekannt wo das ist und wie gross... und das ist ein problem..

CodingCat

1x Contest-Sieger

Beiträge: 420

Beruf: Student (KIT)

  • Private Nachricht senden

20

08.12.2008, 13:08

Zitat von »"Coders-Square"«

Wo ist das ein Array?

Nirgends, und eben das ist das Problem.

Zitat von »"Coders-Square"«

Aber komischerweise werden immer die C-Stellen für den Fehler verantwortlich gemacht, ist noch keiner auf die Idee gekommen, dass es am Programmierer liegt der die C-Codes falsch anwendet?

Wie immer ist die Einsicht der erste Weg zur Besserung. :-)
alphanew.net (last updated 2011-06-26) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite

Werbeanzeige