Hallo Seppj.
Wenn du in letzter Zeit heute meinst und in diesem Thread, dann hast du Recht.
Ansonsten handelt es sich wohl um jmd anderes.
Verkettete Listen sind ziemlich Standard für den Einstieg und es werden sich sicherlich mehr Anfänger damit herumschlagen.
Aber dennoch danke, es war jetzt recht offensichtlich dass ich ich vor dem typedef der Struktur noch einen Namen (oder in meinem Fall den selben Namen wie im typedef) geben sollte.
@_--
Was ich mit geht nicht meinte war, dass du den Typen nicht angeben kannst. Zudem wäre meine Wahl jetzt auch void (*) (), aber na ja so geht's auch.
@typedefer
Du hast den Cast vergessen.
Ich habe mir die Sourcen der Watcom C-Lib mal vorgenommen.
Es ist schon eine wilde Mischung mit -zig #defines ...
fwrite() ruft im Binärmodus mit 512 Byte Blöcken write() auf, diese schnappt
sich os_write() und das schickt es per WriteFile() an den Apache.
fwrite() im Textmode verwendet profanes fputc().
Auch mit einem direkten Aufruf von WriteFile() funktioniert das Testprogramm
nicht. Aber immer nur dann, wenn ich mit setmode() auf binär schalte.
Nebenbei ist ein fflush() am Programmende nicht notwendig. Strenggenommen
ein close() auch nicht ...
Zwischen FILE-I/O und Locking dürfte der Rückgabetyp keine entscheidende Rolle mehr spielen. Wenn du optimieren willst, ist an anderer Stelle mehr zu holen.
s.luis schrieb:
hat wer ein gutes tutorial für threads, ausgenommen die standard-dinge.
join vs. exit ist ein Standardding. Dir fehlen die Grundlagen. Das sollte muss jedes brauchbare Tutorial behandeln.
Noch ein Hinweis:
%s liest bei scanf nur bis zu einem Whitespace (Leerzeichen, Zeilenvorschub und Tabulatoren)
Bei "New York" bekommst du also nur das New.
Oder alles zusammen
int read_char(char *ch_arr){
int i=0;
int c;
while((c = getchar()) != '\n' && c != EOF) // Zuweisung und danach Vergleich.
ch_arr[i++] = c;
ch_arr[i] = '\0';
}
Wenn du schon eine eigene Funktion schreibst, dann mach eine, die auch eine Längenüberprüfung macht.
int read_char(char *ch_arr, size_t max_len);
gusti1122 schrieb:
Der Lehrer sagte wie sollen das folgende Unterprogramm fertigstellen, da es so noch nicht ganz funktioniert:
...
Aber Zeile 37-39 macht ja alles kaputt wieder oder?
Was soll man damit bezwecken?
Dass du dir überlegst wie es richtig funktioniert.
Überleg dir welche Fälle es gibt. (einfügen mittendrin, vor dem ersten Element)
rkhb schrieb:
float radius, flaeche, durchmesser, umfang, pi;
int ende = 0;
while (!ende) {
#define DURCHMESSER radius + radius
pi = 3,14159265;
Dieser Unsinn muss unbedingt für die Nachwelt erhalten bleiben.
Liebe Kinder, nicht nachmachen!
Wenn es sich um ein char[][N] handelt, übergibt qsort genau das, was strcmp erwartet. Mit einem char*[] fliegt dir das natürlich auseinander, aber das hatte ich ja schon erwähnt.
Du kannst mal bei http://www.zotteljedi.de/ nachschauen (Socket-Tipps und Buch)
Oder auch bei W&T . Die haben eine nette Broschüre: TCP/IP-Ethernet bis Web-IO