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

тип переменной WIN32_FIND_DATA - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.65
robert19
25 / 25 / 3
Регистрация: 26.03.2010
Сообщений: 305
19.11.2011, 19:02     тип переменной WIN32_FIND_DATA #1
вот пишу матрицу доступов. пытаюсь считать из папки количество файлов, хранящейся в ней, но когда начинаю массиву типа string присваивать значение FindFileData.cFileName типа WIN32_FIND_DATA, он ругается:
error C2679: бинарный "=": не найден оператор, принимающий правый операнд типа "WCHAR [260]" (или приемлемое преобразование отсутствует)

код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void getFilesList (const char *root, string **&accessMas) {
    string temp;
    WIN32_FIND_DATA FindFileData;
    int j = 1;
    int count = 2;
    TCHAR cDirectoryName [] = TEXT("C:\\Matrix\\*.*");
    HANDLE hFind = FindFirstFile(cDirectoryName, &FindFileData);
    if(hFind != INVALID_HANDLE_VALUE)
    {
        do{ 
            count--;
            if (count >= 0) continue;
            //temp = new string(fd.cFileName);
            accessMas[j][0] = FindFileData.cFileName;
            j++;
        }while(FindNextFile(hFind, &FindFileData));
 
        FindClose(hFind);
    }
}
как можно избежать этой ошибки? побывал другие варианты, не помогло(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2011, 19:02     тип переменной WIN32_FIND_DATA
Посмотрите здесь:

C++ тип переменной
Восьмибитный тип переменной (что за тип, но не BYTE и не CHAR? C++
Узнать тип переменной C++
WIN32_FIND_DATA Вывод имени файла C++
любой тип переменной C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dr.curse
 Аватар для dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
19.11.2011, 19:06     тип переменной WIN32_FIND_DATA #2
попробуй вместо string wstring
robert19
25 / 25 / 3
Регистрация: 26.03.2010
Сообщений: 305
19.11.2011, 19:11  [ТС]     тип переменной WIN32_FIND_DATA #3
Цитата Сообщение от aram_gyumri Посмотреть сообщение
попробуй вместо string wstring
Да, действительно помогло. Вот только проблема в том, что мне нужно, что это значение сохранялось в стринговскую переменную. Иначе в этот массив я не смогу внести простые слова, а это обязательно придется делать((((

Добавлено через 42 секунды
а если переделывать мой массив в wstring то не получится((
dr.curse
 Аватар для dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
19.11.2011, 19:14     тип переменной WIN32_FIND_DATA #4
а почему не можешь?
robert19
25 / 25 / 3
Регистрация: 26.03.2010
Сообщений: 305
19.11.2011, 19:18  [ТС]     тип переменной WIN32_FIND_DATA #5
ну выдает ту же ошибку. в wstring нельзя положить string. Ошибка:
отсутствует оператор "=", соответствующий этим операндам.
dr.curse
 Аватар для dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
19.11.2011, 19:26     тип переменной WIN32_FIND_DATA #6
wstring to string
C++
1
2
3
wstring ws = L"Hello";
string s(ws.begin(), ws.end());
s.assign(ws.begin(), ws.end());
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2011, 20:05     тип переменной WIN32_FIND_DATA
Еще ссылки по теме:

WIN32_FIND_DATA C++
Тип переменной C++
C++ Тип переменной WIN32_FIND_DATA

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

Или воспользуйтесь поиском по форуму:
robert19
25 / 25 / 3
Регистрация: 26.03.2010
Сообщений: 305
19.11.2011, 20:05  [ТС]     тип переменной WIN32_FIND_DATA #7
спасибо, попробую)
Yandex
Объявления
19.11.2011, 20:05     тип переменной WIN32_FIND_DATA
Ответ Создать тему
Опции темы

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