fstream - Foldery systemowe.

0

Witam,
Mógłby mi ktoś podać przykład jak zapisać jakiś plik w folderze systemowym np. w %appdata% lub na pulpicie?
Czytałem trochę o tym na angielskich forach, ale nic nie zrozumiałem.
Z góry dziękuje za pomoc.

0

Pobierz nazwę użytkownika, wtedy będziesz znał ścieżkę do pulpitu.

0

@ujemny
W każdym systemie jest inna ścieżka...
Wiem że w każdym windowsie jest jakby taka uniwersalna ścieżka np. %appdata%, ale jak to zastosować w c++.

1

no jeśli jako ścieżkę podasz po prostu %appdata% to będzie to działać, a poza tym, SHGetFolderPath.

Sklejanie ścieżki z nazwą użytkownika itp. nie jest dobre, bo
• nie jest powiedziane, że Windows jest na C:
• XP ma katalog Documents and Settings, Vista ma Users
• sam pulpit jest w angielskim systemie w katalogu Desktop, ale w polskim Pulpit. ale sprawdzanie języka też nie pomoże, bo po zainstalowaniu spolszczenia do angielskiego systemu, język staje się polski ale struktura katalogów fizycznie pozostaje angielska.

Można ścieżkę zgadywać, ale prawidłowo należy po prostu pobrać ją z systemu.

0

Czyli mogę coś takiego zrobić?

std::fstream plik( "%appdata%\\test.txt", std::ios::out );
    plik<<"test";
    plik.close();

Niestety ten kod powyżej nie robi tego co ma zamiar robić ;/

1
	string path = getenv("appdata");
	path.append("\\test.txt");
	fstream plik(path.c_str(), ios::out );
0

Okey, dzięki.

Wyjaśnione ;)

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