To mój pierwszy program w C, więc proszę o wyjaśnienia ludzkim językiem.
Program prosi o ścieżki do dwóch plików - plik1, plik2.
[INDENT]plik1 - jest to ścieżka pliku, który ma być skopiowany
plik2 - ścieżka do pliku (kopia)[/INDENT]
Doszedłem do momentu gdzie znika mi wartość zmiennej plik2.
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char **argv ) {
char plik1[40];
char plik2[40];
char odp[1];
char *yes = "y";
char *no = "n";
FILE *fp;
FILE *sp;
printf("%s\n", "Podaj sciezke plikow:");
scanf("%40s %40s", &plik1, &plik2);
//otwieranie pliku do odczytu
if((fp = fopen(plik1, "r"))== NULL ) {
printf("Nie moge odczytac pliku %s do odczytu", plik1);
exit(1);
}
//otwieranie pliku do zapisu
if((sp = fopen(plik2, "rw"))== NULL) {
printf("Nie moge odczytac pliku %s do zapisu\n", plik2);
printf("Czy utworzyć plik do zapisu o sciezce %s ?\n (y\\n)", plik2);
scanf("%1s", &odp);
//porownywanie odpowiedzi
if(strcmp(odp, yes)==0) {
//TUTAJ ZMIENNA PLIK2 JEST JUZ PUSTA
if((sp = fopen(plik2, "w"))!= NULL) {
printf("Utworzony");
} else {
printf("Nie można utworzyć pliku - sprawdz uprawnienia\n");
printf("%s\n", plik2);
exit(1);
}
} else if(strcmp(odp, no)==0) {
printf("Koniec programu\n");
exit(0);
} else {
printf("Zla odpowiedz\n");
exit(1);
}
}
}
Proszę o pomoc.