Probleme mit write() und Firewall/Antivirus
-
Scheppertreiber schrieb:
Moment: Du machst eine Datei auf. Die hat einen Descriptor.
Dann schreibst Du mit write() auf den Descriptor 1. Wie soll
das funktionieren ?Wenn, dann :
int main(int argc,char *argv[]) { int filedeskriptor = open("Test.txt",O_RDWR); char c[1] = {65}; write( [b]filedeskriptor[/b], c, 1); }Hast du überhaupt gelesen was der Threadersteller geschrieben hat? Er möchte in die "Datei" mit dem FD 1 schreiben, also die Standardausgabe.
-
stdout ist ein Filepointer - kein Descriptor.
schau Dir doch mal etwas genauer seinen Code an.
-
Scheppertreiber schrieb:
stdout ist ein Filepointer - kein Descriptor.
schau Dir doch mal etwas genauer seinen Code an.
write erwartet kein Filepointer, sondern einen Filedeskriptor.
-
Tippgeber schrieb:
Scheppertreiber schrieb:
stdout ist ein Filepointer - kein Descriptor.
schau Dir doch mal etwas genauer seinen Code an.
write erwartet kein Filepointer, sondern einen Filedeskriptor.
Eben. Genau. Soinetwa. Was den Virenscanner dabei stört bleibt sein Geheimnis.
-
Scheppertreiber schrieb:
Tippgeber schrieb:
Scheppertreiber schrieb:
stdout ist ein Filepointer - kein Descriptor.
schau Dir doch mal etwas genauer seinen Code an.
write erwartet kein Filepointer, sondern einen Filedeskriptor.
Eben. Genau. Soinetwa. Was den Virenscanner dabei stört bleibt sein Geheimnis.
Wenn du mir hier zumindest verstehe ich deinen ersten Einwand nicht

-
Darf ich mal ordnen:
Write erwartet einen Filedescriptor. "1" ist der Filedescriptor, der dem Filepointer stdout und damit der Standardausgabe zugeordnet ist (zumindest unter UNIX). Der OP will laut dem Eingangspost explizit mit write auf den Filedescriptor, der der Standardausgabe zugeordnet ist, schreiben.
-
Genau, ich will ganz normal auf die Standardausgabe schreiben mit der Systemfunktion write(). Aber das ob das lauf Virenprogramm in Ordnung ist, dürfte doch nicht davon abhängen, ob ich im Code ein paar Zeilen vor dem write() mir einenn Filedeskriptor (den ich dann gar nicht benutze) besorge oder nicht. Aber scheinbar doch.
Ich komme leider gar nicht dazu, mein Programm nach dem compilieren zu den Ausnahmen in meinem Antiviren-Programm hinzuzufügen. Vorher wird mein Programm ohne vorher zu fragen gelöscht.
Es ist nicht wirklich ein Problem für mich, ich kann es ja mit den entsprechenden includes umgehen. Aber es hat mir halt Fragen aufgeworfen.
Ich wollte nur ein Programm schreiben, welches ein bisschen mit Dateien und den Standard Ein- und Ausgaben arbeitet und dabei so wenig bzw. so kleine includes wie möglich zu benutzen.
Ich werd vielleicht mal beim Hersteller meines Antiviren-Programms nachfragen was das soll. Wenn ich etwas darüber herausgefunden habe, poste ich es hier.
Trotzdem danke an alle!
-
Schalt halt mal den Virenscanner ab und probiere ...
-
Hab ich schon, ohne den gehts. Es kommt die erwartete Ausgabe auf der Konsole. Weiß nicht was der Virenscanner da zu meckern hat. Ist doch so ein simples Programm...
-
Wechsel doch mal den Virenscannern, was ist das für einer ?
-
ZoneAlarm Security Suite. Ich bin mit dem Virenscanner eigentlich sehr zufrieden, aber jetzt läuft das Jahresabo sowieso aus, da könnte ich echt mal an einen Wechsel denken.
Aber es muss sich schon um eine sehr spezielle Sache handeln. es ist ja auch nichts schlimmes was sich nicht umgehen ließe, nur hat es mich halt neugierig gemacht was da vor sich geht.