Я получаю очень случайные результаты при запуске функции GetVolumeInformation () - PullRequest
0 голосов
/ 09 октября 2019

Я хотел бы получить тип файловой системы определенного диска (FAT32, NTFS, FAT16) для программы, которую я пишу. Но когда я запускаю этот код, я получаю, казалось бы, случайные результаты в переменной szFileSystemName. Любая помощь высоко ценится.

#include <Windows.h>
#include <iostream>

using namespace std; 

int main() 
{
   TCHAR szFileSystemName[10]; 
   ::GetVolumeInformation(L"C:\\", NULL, 0, NULL, NULL, NULL, 
   szFileSystemName, sizeof (szFileSystemName));

   cout << szFileSystemName; 
   cin.get(); 
}

Спасибо,

Самуил

1 Ответ

1 голос
/ 09 октября 2019

cout << szFileSystemName;

Над строкой выведите адрес массива szFileSystemName. Так что каждый раз все по-другому.

Для печати имени файловой системы вы можете использовать:

wprintf(L"File system name: %s \n", szFileSystemName);

или

std::wcout << szFileSystemName; @RemyЛебо указал.

...