Dobrý den,
napsal jsem kód podobný tomuto:
...
class User
{
public:
wchar_t name[21];
wchar_t password[21];
};
...
User u;
for(int i = 0;i<21;i++)
u.name[i]=L'\0';
for(int i = 0;i<21;i++)
u.password[i]=L'\0';
wcsncpy_s(u.name,L"Honza",wcslen(L"Honza"));
wcsncpy_s(u.password,L"12345",wcslen(L"12345"));
wofstream wof("C:\\Users\\ADMIN\\Documents\\Honza.txt",ios::out|ios::binary);
wof.imbue(locale(""));
wof.write((wchar_t*)&u,sizeof(User));
wof.close();
User user;
wifstream wif("C:\\Users\\ADMIN\\Documents\\Honza.txt",ios::in|ios::binary);
wif.imbue(locale(""));
wif.read((wchar_t*)&user,sizeof(User));
MessageBox(hWnd,user.name,L"Uživatelské jméno",MB_OK|MB_ICONINFORMATION);
MessageBox(hWnd,user.password,L"heslo",MB_OK|MB_ICONINFORMATION);
První messagebox ukáže normálně jméno Honza. Druhý messagebox ukáže nesmyslné znaky. Po prohlédnutí
souboru Honza.txt jsem zjistil, že se heslo ani neuložilo (obsah souboru:Honza ).
Prosím o pomoc. Používam visual c++. dík.