PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : write(), read() close() etc. nicht verfügbar?



Takt
12-09-2003, 18:59
Ich weis ja nicht, aber irgendwie geht unter c++ fast nix, was unetr C geht *g*
Also es ist so, dass folgende sin meinem Source eingebunden ist:
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
Mit all diesen inlcudes kann ich weder read, write, noch close benutzen. Als fehlermeldung bekomme ich immer implicit declaration of... was ja bedeutet, dass die Funktiond ie icha ufrufen möchte nicht existiert. Und da das eigentlich standardt Befehle sind, solltend ie doch eigentlich in iostream und stdio drins ein oder irre ich da?
MfG. Takt

wraith
12-09-2003, 19:09
write,read,close sind keine C Standard Funktionen,es sind POSIX Standard Funktionen.
Die "äquivalenten" C Standard Funktionen heißen fwrite,fread,fclose.Die arbeiten etwas anders,aber es wäre besser,wegen Portabilität,wenn du auf die C Standard Funktionen umsteigst.

write,read,close sind iirc in <unistd.h> deklarriert.

Noch was zu deinen C -> C++ Umsteigeproblemen :).
Das Problem ist,daß dein Code schon als C Code nicht korrekt war,aber der gcc in der Standardeinstellung eine solche lachse Schiene fährt,daß das nicht als Fehler ausgeschmissen wird.

Wenn du aber C++ kompilierst ist das anders.

Also hättest du deinen C Code bereits mit allen Warnings an kompiliert (siehe letzter Thread),dann wären die Fehler schon vorher aufgetaucht.

Takt
13-09-2003, 21:27
Danke, bis jetzt funtzt eigentlich alles, was ich so ausprobiert habe.
MfG. Takt