#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
char c;
char *plik;
FILE *file;
void openFile(FILE *file, char *plik);
int main(){
plik = (char *) malloc (15 * sizeof(char));
openFile(file, plik);
while ( (c = fgetc(file)) != EOF) {
putchar(c);
// letters++;
}
}
void openFile(FILE *file, char *plik) {
do {
printf("Podaj poprawna nazwe pliku\n");
scanf("%s", plik);
file = fopen (plik, "r");
if (file == NULL) {
printf("Nie udalo sie otworzyc pliku.\n");
} else {
printf("\n\nZnaleziono plik:-)\n\n");
}
} while(file == NULL);
} //ta funkcja dziala bardzo dobrze, sprawdza czy nazwa jest poprawna i otwiera wskazany plik
**O co chodzi? **
Wywoluje funkcje, w ktorej chce:
- zapytac o nazwe pliku,
- zapisac ja w tablicy,
- otworzyc go!
Nastepnie juz w ciele funkcji main() chce wypisac plik, ktory dopiero otworzylem za pomoca funkcji openFile(). Niestety tu jest blad i sie nie wypisujefoo. Dlaczego? Skoro funkcja openFile zwrocila komunikat, ze plik otworzono, ale on tak jakby nie jest dostepny poza funkcja wywolana... Podejrzewam, ze mam jakis problem ze wskaznikami i nie wiem jaki:-( pomozcie,. Ucze sie programowanie w C i nie wiem jak z tego wybrnac...
P.S wiem, ze da sie to zrobic bez zalaczania funkcji (i to dziala) ale chcialbym sie nauczyc wlasnie tych wskaznikow, na takim przykladzie.
Z gory dziekuje za pomoc.