Witam! Jestem nowy na forum, właśnie założyłem sobie konto, więc gdybym coś źle napisał to przepraszam.
Od pewnego czasu uczę się języka C++. Od niedawna zacząłem bawić się WinApi i mam pewnien problem.
Chciałbym odczytywać i zapisywać dane do pliku ini którego lokalizacja będzie wskazywana w specjalnym okienku wyboru pliku które jest dostępne w WinApi. No i zrobiłem tak:
OPENFILENAME wczytaj;
char sNazwaPliku[ MAX_PATH ] = "";
ZeroMemory( & wczytaj, sizeof( wczytaj) );
wczytaj.lStructSize = sizeof( wczytaj );
wczytaj.lpstrFilter = "Plik ini(*.ini)\0*.ini\0Wszystkie pliki\0*.*\0";
wczytaj.nMaxFile = MAX_PATH;
wczytaj.lpstrFile = sNazwaPliku;
wczytaj.lpstrDefExt = "ini";
wczytaj.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
if( GetOpenFileName( & wczytaj) )
{
TCHAR Bufor[80];
const char* sNazwaPliku;
GetPrivateProfileString (TEXT("sekcja"), TEXT("klucz"), TEXT("Błąd!"), Bufor, 80, sNazwaPliku);
SetWindowText( hPole, Bufor );
}
Po kompilacji tego kodu wszystko pięknie się uruchamia. Klikam wcześniej stworzony przycisk który wywołuje to okienko wyboru pliku (mam też pole tekstowe do wyświetlenia odczytanych danych), wybieram plik ini, klikam otwórz i nie wiem czemu aplikacja się zawiesza i pokazuje się Windowsowy komunikat "Program program1.exe przestał działać. Trwa wyszukiwanie rozwiązania problemu...". Nie wiem co robię źle ale wydaje mi się że może chodzić o typ zmiennej sNazwaPliku lub zmiennej Bufor ale nie mam pojęcia czy na pewno o to chodzi ani jak to naprawić. :(
Będę bardzo wdzięczny za pomoc!