Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α18.2 · Γιατί μπορεί να αποτύχει η fopen;

Διάλεξη 18, διαφάνειες 43–44 · Δυσκολία ★☆☆ · short-answer · Κεφάλαια: 18

Ελέγχουμε πάντα το αποτέλεσμα της fopen αν είναι NULL. Για ποιο λόγο μπορεί να αποτύχει;

#include <stdio.h>
int main() {
  FILE *fileToRead, *fileToWrite;
  fileToRead = fopen("input.txt", "r");
  if (!fileToRead) {
    return 1;
  }
  fileToWrite = fopen("output.txt", "w");
  if (!fileToWrite) {
    return 1;
  }
  return 0;
}

Υπόδειξη

Σκεφτείτε ξεχωριστά το άνοιγμα για διάβασμα και για γράψιμο: τι πρέπει να υπάρχει ήδη, τι πρέπει να επιτρέπεται στον χρήστη και ποιους πόρους του συστήματος καταναλώνει ένα ανοιχτό αρχείο.

Αριθμός στον οδηγό: Α18.2 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: slides-lec18-fopen-fail · Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec18-fopen-fail.html · Markdown (GitHub)