С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Землянин
 Аватар для Pjeroo
34 / 34 / 16
Регистрация: 15.01.2013
Сообщений: 312

Вместо строки возвращает адрес в памяти

14.03.2014, 20:49. Показов 1108. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Недавно пересел на ВС и сразу же попался. Казалось бы на тривиальной задаче. std::cout выводит нечто похожее на адрес в памяти, а MessageBox выводит нормальные названия файлов. В чем я не прав?

Кликните здесь для просмотра всего текста
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
int _tmain(int argc, _TCHAR* argv[])
{
    Crawl(_T("G:\\Test\\*.*"));
    return 0;
}
 
void Crawl(LPCWSTR path)
{
    WIN32_FIND_DATAW fData;
    HANDLE handle;
 
    handle = FindFirstFile(path, &fData);
 
    FindNextFile(handle, &fData);
 
    if (handle != INVALID_HANDLE_VALUE)
    while (FindNextFile(handle, &fData))
    {
        MessageBox(NULL, fData.cFileName, _T("OLOLO"), 0);
        cout << fData.cFileName;
    }
    else
        return;
 
    FindClose(handle);
 
    system("pause");
}


Ах да, из-за этого использовать fData.cFileName, например, в DeleteFile я не могу.
Миниатюры
Вместо строки возвращает адрес в памяти  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2014, 20:49
Ответы с готовыми решениями:

Адрес(набор цифр) вместо текста в консоли
Столкнулся с проблемой вывода текста в консоль. Например такой cout &lt;&lt; &quot;\r&quot; &lt;&lt; L&quot;File &quot; &lt;&lt; (char)35 &lt;&lt; ++i &lt;&lt;...

Адрес процесса в памяти
Здравствуйте! Написал мини-программу которая в окно аутпут выводит список всех процессов, но мне необходимо узнать адресс процессов...

GetHostEntry Возвращает IP-адрес вместо имени ПК
IPHostEntry host = Dns.GetHostEntry(&quot;192.168.1.193&quot;); Console.WriteLine(host.HostName); при сканировании сети...

1
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
14.03.2014, 21:30
wcout, раз уж под широкие символы пишите.
А MessageBox - это макрос, который при настройках для широких символов раскрывается в MessageBoxW.
И вообще странно что где-то пользуетесь макросами (MessageBox, _T), а где-то напрямую указываете на работу с широкими символами (LPCWSTR,WIN32_FIND_DATAW). Лучше уж писать либо универсально, либо всё под один тип символов, но никак не смешивать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2014, 21:30
Помогаю со студенческими работами здесь

Массив возвращает адрес памяти, а нужно значение
Программа возвращает вместо значения, какие то длинные цифры. Я думаю это адрес памяти, а нужно значение элемента. int Stack:: top() ...

Чтение строки зная адрес в памяти
Привет всем. Есть адрес в памяти другой программы в котором находится строка. Как её можно считать? Так не получается(. Ничего не...

Функция возвращает адрес , как передать этот адрес другой функции ?
const int max = 5; double * fill_array(double, int); void show_array(const double, double *); // как передать этой функции в...

Функция получает массив указателей на строки и возвращает строку в динамической памяти
Функция получает массив указателей на строки и возвращает строку в динамической памяти, содержащую объединенный текст из входных строк.

Функция получает массив указателей на строки и возвращает строку в динамической памяти, содержащую объединенный текст из входных строк
Функция получает массив указателей на строки и возвращает строку в динамической памяти, содержащую объединенный текст из входных строк.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru