fprintf - nie zapisuje do pliku, appcrash po wykonaniu

0

Mam taki program:

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

int main()
{
	char name[50];
	
	printf("Podaj nazwe pliku: ");
	scanf("%s",name);
	
	FILE *plik;
	fopen(name,"w");
	
	fprintf(plik,"Jakis glupi napis");
	fclose(plik);
	
	system("pause");
	return 0;
}

Tworzy plik o podanej nazwie, ale nie zapisuje do niego.

oto błąd:

Podpis problemu:
Nazwa zdarzenia problemu: APPCRASH
Nazwa aplikacji: main.exe
Wersja aplikacji: 0.0.0.0
Sygnatura czasowa aplikacji: 52fb720f
Nazwa modułu z błędem: ntdll.dll
Wersja modułu z błędem: 6.1.7601.18247
Sygnatura czasowa modułu z błędem: 521ea8e7
Kod wyjątku: c0000005
Przesunięcie wyjątku: 000222d2
Wersja systemu operacyjnego: 6.1.7601.2.1.0.256.1
Identyfikator ustawień regionalnych: 1045
Dodatkowe informacje 1: 0a9e
Dodatkowe informacje 2: 0a9e372d3b4ad19135b953a78882e789
Dodatkowe informacje 3: 0a9e
Dodatkowe informacje 4: 0a9e372d3b4ad19135b953a78882e789

Przeczytaj w trybie online nasze zasady zachowania poufności informacji:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0415

Jeśli zasady zachowania poufności informacji w trybie online nie są dostępne, przeczytaj nasze zasady zachowania poufności informacji w trybie offline:
C:\Windows\system32\pl-PL\erofflps.txt

Wydaję mi się, że dobrze użyłem zarówno fopen jak i fprintf

1

Nie zapisuje, bo odwołujesz się do niezainicjalizowanego wskaźnika na plik. Zrób tak:

 plik = fopen(name,"w");

i powinno śmigać

0

taki prosty błąd :( dzięki

0
plik=fopen(name,"w+"); // tworzy plik jeżeli nie istnieje

1 użytkowników online, w tym zalogowanych: 0, gości: 1