Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Нужна помощь (http://forum.oszone.net/showthread.php?t=300486)

Nika_Milashka 29-05-2015 22:46 2512926

Нужна помощь
 
Прошу Вашей в помощи в написании листинга С++ программы которая считывает атрибуты фалов с жестких дисков компьютеров и сохранения их в файле. Пожалуйста очень надо. Отблагодарю))) Либо хоть какие нибудь подсказки дайте!!!!

greg zakharov 29-05-2015 23:44 2512944

Собственно, не совсем понятно в чем может быть сложность? Атрибуты файла в Windows считываются GetFileAttributes, например, простейшая проверка того, имеет ли файл атрибут "Архивный" или нет.
Код:

#include <windows.h>
#include <stdio.h>
#include <locale.h>

void printerror() {
  char *msg;
  FormatMessage(
    FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM,
    NULL,
    GetLastError(),
    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
    (LPTSTR) &msg,
    0,
    NULL
  );
  printf("%s\n", msg);
  LocalFree(msg);
}

int main(void) {
  DWORD attr;
 
  setlocale(LC_CTYPE, ""); //локаль
 
  attr = GetFileAttributes("C:\\autoexec.bat");
  if (attr == INVALID_FILE_ATTRIBUTES) {
    printerror();
    return -1;
  }
 
  //больше данных об атрибутах - windows.h
  printf("Архивный : %s\n", attr & FILE_ATTRIBUTE_ARCHIVE ? "x" : "\0");
 
  return 0;
}

Что касается записи полученных данных в файл - fopen, fwrite и fclose. Подробности по теме можно найти в MSDN.

Nika_Milashka 30-05-2015 00:19 2512954

Спасибочки большое))) просто я пока только учусь программировать в С++. Не хотели бы вы меня подучить чуть????

greg zakharov 30-05-2015 13:50 2513073

Цитата:

Цитата Nika_Milashka
Не хотели бы вы меня подучить чуть?

Пожалуйста, используйте PM форума.


Время: 02:32.

Время: 02:32.
© OSzone.net 2001-