http://www.pronix.de -> Forum -> C-Programmieren -> Code-Schnipsel

Unterseiten

Code-Schnipsel

Moderatoren: broesel, Martin Conrad, Patrick

Thema: String aus String in INT umwandeln

  • (nur registrierte Mitglieder)
Zitat:

... "wer ist online", "Mitgliederliste" etc. wird es aus Datenschutzgründen nicht geben.


Okay bei "Wer ist wo online" müsste es Optional einstellbar sein, ob man dies will oder eben nicht, so wie in anderen Boards auch.
Und bei einer Mitgliederliste sehe ich überhaupt kein Problem, die Dinge, die man bereit ist über sich bekannt zu geben, werden bereits bei der Registrierung abgefragt. Eine Mitgliederliste würde lediglich nochmal alles zusammenfassen.

Zitat:

Ich finde das bei anderen Boards recht heftig, dass die Dinger ausplaudern, wann wer online war!


Naja so eng seh ich das nicht.
Ein Auszug aus dem WoltLab Burning Board:

Registriert am
Rang
Beiträge
Letzte Aktivität
Zur Zeit unterwegs
Letzter Beitrag

Die ersten 3 Punkte sind hier bereits vorhanden.
Die anderen Punkte finde ich im Bezug auf Datenschutz nicht so schlimm. Den letzten Beitrag sieht man, bei Usern, die oft Posten, sowieso. Der Rest gehört wieder zu "Wer ist wo online", das müsste wie gesagt Optional abgefragt werden.
 

Re: String aus String in INT umwandeln

broesel (webmaster) am 03.02.2006 um 11:50

Wenn Dir der String nicht gehört, ist es unfein ihn temporär zu verändern.

Die Funktion weiß nicht, was in der Zwischenzeit mit dem String gemacht wird...
- in einer Thread-Umgebgung könnte ein anderer Thread den String gerade verwenden
- ein Signal könnte einen Lesezugriff auf den String erzeugen
- schlimmer noch: der String könnte gar nicht schreibbar sein, folgender Code erzeugt z.B. einen Segfault: _strtoi("12345", 2);

Ich weiß nicht woher die Scheu kommt, temporäre Puffer zu verwenden. Es ist ja lobenswert, hier und da ein paar Bytes einsparen zu wollen, aber das ist völlig nutzlos wenn dafür die entsprechende Funktion nur manchmal funktioniert Grafik: Smilie Zwinker

Um darauf noch ein bißchen rumzureiten (nichts für ungut):
Mein Professor für Softwaredesign hat uns mal die Geschichte von einem "Programmierer" erzählt, der eine Art Turing-Maschine mit zwei Leseköpfen gebaut hat. Das Band wurde immer exakt so beschrieben, dass unter jedem der beiden Leseköpfe jeweils genau das stand, was man dort zum nächsten Arbeitsschritt brauchte. Das hat aber aufgrund der Eigenschaften der Eingabe manchmal nicht funktioniert und zum Programmabbruch geführt.

Ein anderer Programmierer hat das gesehen und den ersten Programmierer darauf hingewiesen, der daraufhin erwidert: "Ja, aber wenn ich es so mache, geht es 10x schneller!".
Darauf der zweite Programmierer: "Wenn das Programm nicht immer funktionieren muss, kann ich Dir auch eins schreiben, dass 100x schneller ist..."

*kicher* Ok, genug davon, bevor's Haue gibt Grafik: Smilie Zwinker


Und noch ein Wort zum Bezeichner der Funktion: Laut ANSI sind mit einem einzelnen Unterstrich beginnende Bezeichner für den internen Gebrauch der Standardbibliothek vorbehalten, mit einem doppelten Unterstrich beginnende Bezeichner sind für den Compiler reserviert.

Ich halte mich da selbst nicht dran, meine Funktionsargumente haben grundsätzlich am Anfang einen Unterstrich, um sie besser von lokalen Variablen unterscheiden zu können, aber sobald irgendein libstdc- bzw. Compiler-Programmierer in der Bezeichnerwahl ebenso kreativ ist wie ich gibt's Probleme, und zwar zu meinen Ungunsten.

Gruss,
Philip

--
The C Programming Quiz (externer link) - bitte Fragen einreichen :)

 

Re: String aus String in INT umwandeln

Patrick (Moderator) am 03.02.2006 um 13:23

Zitat:
Die Funktion weiß nicht, was in der Zwischenzeit mit dem String gemacht wird...
- in einer Thread-Umgebgung könnte ein anderer Thread den String gerade verwenden

Für mich steht auch mehr der "unfeine" Weg im Vordergrund.

Zitat:
das ist völlig nutzlos wenn dafür die entsprechende Funktion nur manchmal funktioniert.

Mir gefällt der Weg sehr gut, da ich oft Variablen und/oder Zeiger habe, die im Moment nicht gebraucht werden und überschrieben werden können.
Aufgebaut als Funktion sieht das in der Tat etwas unschön aus, da es doch mehr Nachteile als Vorteile geben kann.
Deshalb versuche ich dieses Wochenende, den "unfeinen" Weg anders zu beschreiben. Gefällt die Idee dann immer noch nicht, kann man´s ja immer noch als Negativbeispiel verweden Grafik: Smilie Zwinker

Zitat:
Und noch ein Wort zum Bezeichner der Funktion: ...

Ups. Ich verwende grundsätzlich einen Unterstrich um meine eigenen Funktionen zu markieren.
Auf diese Weise kann ich meine eigenen Quelltexte leichter lesen.
Ich will es mir aber gerne angewöhnen den Unterstrich wegzulassen, wenn ich eigene Funktionen veröffentliche Grafik: Smilie Zwinker

Schönes Wochenende Grafik: Smilie Zwinker

--
To follow the path: look to the master, follow the master, walk with the master, see through the master, become the master.

 

[EDIT] - Re: String aus String in INT umwandeln

broesel (webmaster) am 03.02.2006 um 14:39

Zitat:

Für mich steht auch mehr der "unfeine" Weg im Vordergrund.


Dann werden wir noch viel Spaß miteinander haben... :-P

Zitat:

Ich will es mir aber gerne angewöhnen den Unterstrich wegzulassen, wenn ich eigene Funktionen veröffentliche


Nee nee, ich wollte nur darauf hinweisen, dass es prinzipiell falsch ist. Ich verstoße aber (aus egoistischen Lesbarkeitsgründen) selbst mit großer Vorliebe gegen dieses Gesetz. Grafik: Smilie Zwinker

Gruss,
Philip

--
The C Programming Quiz (externer link) - bitte Fragen einreichen :)

 
  • (nur registrierte Mitglieder)