1 / 1 / 1
Регистрация: 08.01.2015
Сообщений: 172
1

Проблема перевода значения в строку

09.04.2021, 09:05. Показов 404. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени. логика моей программы поиск каталогов и файлов в папке, проблема в том, что у меня найденные файлы и каталоги показывает не правильном формате а надо, чтоб показывал путь.
Проблема перевода значения в строку

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <windows.h>
#include <locale>
#include <cstdio>
#include <string>
#include <iostream>
#include <tchar.h>
 
typedef std::basic_string<TCHAR> tstring;
 
HANDLE pMutex = CreateMutex(NULL, FALSE, NULL);
HANDLE h; 
WIN32_FIND_DATA wfd; 
 
DWORD WINAPI findFile(LPVOID lpParam)
{
    WaitForSingleObject(pMutex, INFINITE);
 
    ReleaseMutex(pMutex);
 
    return 0;
}
 
int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    HANDLE pThread[MAX_PATH];
 
    tstring dirpath(_T("c:/Test")), mask(_T("*.*")), path(dirpath + _T('/') + mask);
    int nd = 0, nf = 0;
    tstring folderNamef[50];    //Массив строк, хранящий названия папок
    tstring folderNamed[50];
 
    h = FindFirstFile(path.c_str(), &wfd);
 
    if (h != INVALID_HANDLE_VALUE) 
    {
        do  //Читаем каталоги
        {
            if (wfd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
            {
                if (strcmp((char*)wfd.cFileName, "..") && strcmp((char*)wfd.cFileName, ".")) 
                {
                    folderNamed[nd] = dirpath + _T('/') + wfd.cFileName;
                    std::cout <<"Найденные каталоги: \n"<< folderNamed[nd].c_str();
                    nd++;    //Счетчик каталогов
                }
            }
            else
            {
                folderNamef[nf] = dirpath + _T('/') + wfd.cFileName;
                std::cout<<"Найденный файл : \n"<< folderNamef[nf].c_str();
                ++nf;
            }
        }         while (FindNextFile(h, &wfd));
 
        FindClose(h);
 
      std::cout<<"Количество каталогов: \n"<< nd;
 
        for (int i = 1; i <= nd; i++)
            pThread[i] = CreateThread(NULL, 0, findFile,
                const_cast<TCHAR*>(folderNamed[i].c_str()), 0, 0);
 
        for (int i = 1; i <= nd; i++)
        {
            WaitForSingleObject(pThread[i], INFINITE);
            CloseHandle(pThread[i]);
        }
    }
 
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2021, 09:05
Ответы с готовыми решениями:

Проблема перевода AnsiString в char строку
char *passtr=new char; int pas=0; passtr=Edit6-&gt;Text.c_str(); for(int...

Составить алгоритм и программу для перевода значения температуры, заданной в шкале Цельсия, в значения, соответствующие
Помогите пожалуйста) Составить алгоритм и программу для перевода значения температуры, заданной в...

Проблема перевода кодировок
Наверное вопрос легкий, однако я не программирую на JavaScript, и столкнулся с такой проблемой... ...

Проблема перевода игры
Пытаюсь перевести игру на русский язык. Дело в том, что все файлы игры состоят из одного .exe...

3
2524 / 1244 / 459
Регистрация: 08.11.2016
Сообщений: 3,418
09.04.2021, 12:41 2
justmuve, раз уж используете wchar_t используйте для вывода std::wcout
1
1 / 1 / 1
Регистрация: 08.01.2015
Сообщений: 172
09.04.2021, 15:58  [ТС] 3
Цитата Сообщение от Annemesski Посмотреть сообщение
justmuve, раз уж используете wchar_t используйте для вывода std::wcout
спасибо)
только еще один вопрос, у меня в корневой папке файлы ищет и а если уже в папке файл то не видит его
Проблема перевода значения в строку

вот у меня в главной папке Test 4 папки и 2 файла, а в папке 234 у меня находится файл, но вот его не выводит
0
2524 / 1244 / 459
Регистрация: 08.11.2016
Сообщений: 3,418
09.04.2021, 16:36 4
justmuve, вам нужно организовать рекурсивный проход по подкаталогам, то есть собранные в цикле диектории снова скормить этому алгоритму.
0
09.04.2021, 16:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2021, 16:36
Помогаю со студенческими работами здесь

Проблема с отменой перевода на зимнее время
Сеть из 40 компьютеров, домен на Windows Server 2003 Standart x64 Edition Сегодня автоматически...

Функция перевода числа в строку
всем привет. написал такую вот функцию char* itoa(int i) { static char buf; char *p = buf +...

Найти алгоритм перевода числа в строку
Суть в чем, нужно перевести строку ( к примеру 3425.45 ) в строку вида ( три тысячи четыреста...

Печать текста без перевода на новую строку
Подскажите как организовать ввод переменной без перехода на новую строчку. Пример: @echo off...

Написать функцию для перевода double в строку
хочу написать функцию для перевода double в строку, нашел вот такую штуку в тему: union dull {...

Ищу код перевода числа в строку и назад...
itoa и atoi не подходят...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru