Forum: PC-Programmierung fopen() unsafe?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Mike (Gast)


Lesenswert?

Neulich schrieb ich mal wieder ein kleines C-Programm mit Visual-C. 
Dabei meckerte der Compiler die fopen() -Funktion zum Fileöffnen an, 
weil es „unsafe“ sei. Ich solle es durch fopen_s ersetzen. Was hat es 
mit dem Sicherheitsproblem auf sich?

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?


von MaWin (Gast)


Lesenswert?


von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Und bezogen auf fopen_s: https://en.cppreference.com/w/c/io/fopen

Edit: MaWin war schneller.

: Bearbeitet durch User
von Mikro 7. (mikro77)


Lesenswert?

Mike schrieb:
> Was hat es
> mit dem Sicherheitsproblem auf sich?

Kein "Sicherheitsproblem". Prüft auf NULL. Da optional, würde ich es eh 
nicht verwenden.

https://stackoverflow.com/questions/19396116/how-can-fopen-s-be-more-safe-than-fopen

von Mike (Gast)


Lesenswert?

Mikro 7. schrieb:
> Kein "Sicherheitsproblem". Prüft auf NULL. Da optional, würde ich es eh
> nicht verwenden.

Auf NULL prüfe ich natürlich selber, before ich fopen aufrufe. fopen_s 
scheint mir auch nicht sonderlich portable zu sein (verlangt wohl 
mindestens C11).

Da belib ich liebr bei fopen().

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Exception-Handling? Try/Catch?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.