Zápis do souboru v jazyce C: Porovnání verzí

Z Milan Kerslager
Přejít na: navigace, hledání
(Syntax on)
m (Fix)
 
(Není zobrazena jedna mezilehlá verze od stejného uživatele.)
Řádka 14: Řádka 14:
 
   FILE *vystup;
 
   FILE *vystup;
  
   if (argc != 1) {
+
   if (argc != 2) {
 
     if ((vystup = fopen(argv[1], "a+")) == NULL) {
 
     if ((vystup = fopen(argv[1], "a+")) == NULL) {
 
       chyba(1, "nelze otevrit pro zapis");
 
       chyba(1, "nelze otevrit pro zapis");
Řádka 33: Řádka 33:
  
 
;Příklad 2: Upravte program, aby pro hlášení chyby používal funkci <code>perror()</code>.
 
;Příklad 2: Upravte program, aby pro hlášení chyby používal funkci <code>perror()</code>.
 +
 +
[[Kategorie:Jazyk C v Linuxu]]

Aktuální verze z 21. 4. 2009, 11:50

#include <stdio.h>
#include <stdlib.h>

int chyba(int err, char *txt)
{
  printf("Chyba %d: %s\n", err, txt);
  exit(err);
}

int main(int argc, char *argv[])
{
  char *veta="Ahoj svete\n";
  FILE *vystup;

  if (argc != 2) {
    if ((vystup = fopen(argv[1], "a+")) == NULL) {
      chyba(1, "nelze otevrit pro zapis");
    }
  } else {
    chyba(2, "chybi parametr");
  }
  if (fputs(veta, vystup) == EOF) {
    chyba(3, "nelze zapsat");
  }
  return 0;
}

Cvičení

Příklad 1
Upravte program, aby při absenci parametru zapisoval na standardní výstup.
Příklad 2
Upravte program, aby pro hlášení chyby používal funkci perror().