Форум программистов, компьютерный форум CyberForum.ru

GetFileAttributes - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Rinat74
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 34
11.11.2012, 21:45     GetFileAttributes #1
помогите когда использую функцию GetFileAttributes возникает ошибка
#include "stdafx.h"
#include <iostream>
#include <windows.h>
using namespace std;




int _tmain(int argc, _TCHAR* argv[])
{

char fileName[260];

DWORD attr;
attr=GetFileAttributes(fileName);
return 0;
}
error C2664: GetFileAttributesW: невозможно преобразовать параметр 1 из 'char [260]' в 'LPCWSTR'
не пойму в чем ошибка
вернее как правильно сделать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2012, 21:45     GetFileAttributes
Посмотрите здесь:

C++ WinAPI Какие параметры в getfileattributes?
C++ Помощь функциями GetFileAttributes и GetFileSize.
GetFileAttributes с++ C++ Builder

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
11.11.2012, 21:48     GetFileAttributes #2
Один из вариантов
Цитата Сообщение от Rinat74 Посмотреть сообщение
char fileName[260];
C++
1
_TCHAR fileName[260];
Rinat74
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 34
11.11.2012, 21:52  [ТС]     GetFileAttributes #3
хм ошибку не выдает вот толька мне нужно ввести с консоли имя файла и когда я я коду добавляю одну строчку
cin>>fileName
вылетает ошибка бинарный '>>': не найден оператор, принимающий правый операнд типа '_TCHAR [260]' (или приемлемое преобразование отсутствует)
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
11.11.2012, 22:01     GetFileAttributes #4
Как второй вариант оставить чар, и использовать функцию GetFileAttributesA
Rinat74
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 34
11.11.2012, 22:02  [ТС]     GetFileAttributes #5
Спасибо большое)) все работает)
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
11.11.2012, 22:06     GetFileAttributes #6
Для общего ознакомления
http://msdn.microsoft.com/ru-ru/library/c426s321.aspx
http://msdn.microsoft.com/ru-ru/library/tsbaswba.aspx
-=ЮрА=-
Заблокирован
Автор FAQ
11.11.2012, 22:11     GetFileAttributes #7
Rinat74, попробуй этот проект, вводить ничего не надо будет - выберешь файл в стандартном SHLDialog-е
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <windows.h>
#include <stdlib.h>
#include <shlobj.h>
#include <stdio.h>
 
BOOL SelectFile(char * sPath, const char * szTitle)
{
    BOOL bRet = FALSE;
    LPCITEMIDLIST lpItemDList;
    BROWSEINFO bi = {
        NULL, 
        NULL, 
        sPath,
        szTitle,
        BIF_DONTGOBELOWDOMAIN|BIF_BROWSEINCLUDEFILES,
        NULL,
        NULL,
        0
    };
    if((lpItemDList=SHBrowseForFolder(&bi)))
    {
        if((bRet = SHGetPathFromIDList(lpItemDList, sPath)))
            GetShortPathName((LPCTSTR)sPath,sPath,strlen(sPath));
        else
            sPath[0] = '\0';
    }
    return bRet;
}
 
int main()
{
    char sPath[256] = {0};
    DWORD dwAttrib  = 0;
    if(!SelectFile(sPath, "Выберите файл или каталог"))
        printf("Error open path %s\n",strerror(GetLastError()));
    else
    {
        printf("Selected path %s\n",sPath);
        dwAttrib = GetFileAttributes(sPath);
        printf("Path attributes : 0x%p\n", dwAttrib);
    }
    system("pause");
    return 0;
}
Разбирать атрибуты не стал, просто вывел DWORD на экран, если что вот тебе справка по атрибутам с PDSK Help-а
Attribute Meaning
FILE_ATTRIBUTE_ARCHIVE The file or directory is an archive file or directory. Applications use this attribute to mark files for backup or removal.
FILE_ATTRIBUTE_COMPRESSED The file or directory is compressed. For a file, this means that all of the data in the file is compressed. For a directory, this means that compression is the default for newly created files and subdirectories.
FILE_ATTRIBUTE_DEVICE Reserved; do not use.
FILE_ATTRIBUTE_DIRECTORY The handle identifies a directory.
FILE_ATTRIBUTE_ENCRYPTED The file or directory is encrypted. For a file, this means that all data streams in the file are encrypted. For a directory, this means that encryption is the default for newly created files and subdirectories.
FILE_ATTRIBUTE_HIDDEN The file or directory is hidden. It is not included in an ordinary directory listing.
FILE_ATTRIBUTE_NORMAL The file or directory has no other attributes set. This attribute is valid only if used alone.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED The file will not be indexed by the content indexing service.
FILE_ATTRIBUTE_OFFLINE The data of the file is not immediately available. This attribute indicates that the file data has been physically moved to offline storage. This attribute is used by Remote Storage, the hierarchical storage management software. Applications should not arbitrarily change this attribute.
FILE_ATTRIBUTE_READONLY The file or directory is read-only. Applications can read the file but cannot write to it or delete it. In the case of a directory, applications cannot delete it.
FILE_ATTRIBUTE_REPARSE_POINT The file or directory has an associated reparse point.
FILE_ATTRIBUTE_SPARSE_FILE The file is a sparse file.
FILE_ATTRIBUTE_SYSTEM The file or directory is part of, or is used exclusively by, the operating system.
FILE_ATTRIBUTE_TEMPORARY The file is being used for temporary storage. File systems avoid writing data back to mass storage if sufficient cache memory is available, because often the application deletes the temporary file shortly after the handle is closed. In that case, the system can entirely avoid writing the data. Otherwise, the data will be written after the handle is closed.
Миниатюры
GetFileAttributes  
Вложения
Тип файла: rar Rinat74.exe.rar (15.0 Кб, 4 просмотров)
Тип файла: rar Rinat74_VS6_proj.rar (5.1 Кб, 4 просмотров)
Yandex
Объявления
11.11.2012, 22:11     GetFileAttributes
Ответ Создать тему
Опции темы

Текущее время: 04:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru