Zápis do souboru v jazyce C: Porovnání verzí
Z Milan Kerslager
(Založení článku) |
(Syntax on) |
||
Řádka 1: | Řádka 1: | ||
− | + | <source lang="c"> | |
− | + | #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 != 1) { | |
− | + | 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; | |
+ | } | ||
+ | </source> | ||
== Cvičení == | == Cvičení == |
Verze z 7. 9. 2008, 12:54
#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 != 1) {
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()
.