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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SlimSky
0 / 0 / 0
Регистрация: 13.12.2013
Сообщений: 11
#1

wchar_t to LPCWSTR - C++

21.12.2013, 13:15. Просмотров 597. Ответов 6
Метки нет (Все метки)

Ругается, что text является неинициализированной локальной переменной

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
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include "string.h"
 
#define ELEMENT_SIZE (150*1024)
 
int _tmain(int argc, _TCHAR* argv[])
{
    using namespace std;
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    WIN32_FIND_DATAW wfd;
 
    wchar_t *text;
 
    wcin>>text;
    wcout << text;
 
    HANDLE const hFind = FindFirstFileW(text, &wfd);
 
    int size = 0;
    int sizel = 0;
 
    do
    {
        cout << "Введите размер файла: ";
        cin >> sizel;
 
        if(sizel < 0)
        {
            cout << "\nОшибка! Введено отрицательное число!\nПовторите попытку!\n\n";
        }
    }while(sizel < 0);
    
    if (INVALID_HANDLE_VALUE != hFind)
    {
        do
        {
            size = (wfd.nFileSizeHigh * (1 + MAXDWORD)) + wfd.nFileSizeLow;
 
            if (size > sizel)
            {
                std::wcout <<"Имя файла: "<< &wfd.cFileName[0] << "\n" << "Размер: " << size << " байт\n\n";
            }
        }while (NULL != FindNextFileW(hFind, &wfd));
 
        getchar();
        getchar();
        FindClose(hFind);
    }
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2013, 13:15     wchar_t to LPCWSTR
Посмотрите здесь:

Std::allocator<wchar_t>>' to 'LPCWSTR' - C++
собственно есть list&lt;wstring&gt; куда вставили много адресов типа L&quot;D:\\66\\99&quot;; Задача удалять папки по этому адресу (пока что папки пусты...

FindWindowW: конвертировать из const wchar_t* в LPCWSTR - C++
Здравствуйте! Нужно фокусировать окно по названию, которое в юникоде. Название передается через const wchar_t*. Не монимаю как...

char* -> LPCWSTR - C++
Всем доброго времени суток. Пытаюсь перевести char* строчку (строка текста переменной длины). Собственно код: char* LastChar; ...

String и LPCWSTR - C++
Здравствуйте, есть функция, показывающая дату создания файла и есть такая строчка: LPCWSTR fname1 = L&quot;test.txt&quot;; Дело в том, что в...

String в LPCWSTR - C++
В общем сложил как правильно строку(для пути проверки папки),но теперь не могу её записать в CreateDirectory.Помогите с проблемой. ...

Побороть LPCWSTR - C++
Всем привет. Пишу программку на WinApi но столкнулся с простой проблемой. Мне нужно программно вставить текст в Edit. Код примерно такой: ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт CАвтор FAQ
17462 / 5700 / 361
Регистрация: 30.03.2009
Сообщений: 15,639
Записей в блоге: 26
21.12.2013, 13:30     wchar_t to LPCWSTR #2
Цитата Сообщение от SlimSky Посмотреть сообщение
Ругается, что text является неинициализированной локальной переменной
Подтверждаю, text является неинициализированной локальной переменной
SlimSky
0 / 0 / 0
Регистрация: 13.12.2013
Сообщений: 11
21.12.2013, 13:36  [ТС]     wchar_t to LPCWSTR #3
И как быть?)
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.12.2013, 13:37     wchar_t to LPCWSTR #4
для того, чтобы текст больше не являлся неинициализированной локальной переменной, ее нужно инициализировать.
нужно динамически выделить массив,
или статический сделать: wchar_t text[512];
а еще лучше использовать std::wstring text;
SlimSky
0 / 0 / 0
Регистрация: 13.12.2013
Сообщений: 11
21.12.2013, 13:43  [ТС]     wchar_t to LPCWSTR #5
Решил проблему wchar_t text = new wchar_t;
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.12.2013, 13:46     wchar_t to LPCWSTR #6
ога ога. решили проблему компиляции.
готовтесь к проблемам в рантайме.
еще раз напоминаю: вам нужно работать с массивом символов, а не с одним.
wchar_t* text = new wchar_t; - это динамическое выделение одного символа.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2013, 15:08     wchar_t to LPCWSTR
Еще ссылки по теме:

Конвертировать string в LPCWSTR - C++
Как nbg string конвертировать в LPCWSTR и наоборот?

Правильная конвертация string в LPCWSTR? - C++
Привет. Делаю вот так: string s_Path = &quot;путь&quot;; LPCWSTR l_Path; l_Path = (LPCWSTR)s_Path_vir.c_str(); Через отладчик не...

Как преобразовать LPCWSTR в char*? - C++
Здравствуйте! Как преобразовать LPCWSTR в char*?

LPCWSTR переслать через сокет - C++
Как же тяжело в C++ что-либо сделать со строками. Печально, что для представления строк столько типов, но пользоваться неудобно ими всеми....


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

Или воспользуйтесь поиском по форуму:
MrGluck
Модератор
Эксперт CЭксперт С++
6960 / 4131 / 586
Регистрация: 29.11.2010
Сообщений: 10,956
21.12.2013, 15:08     wchar_t to LPCWSTR #7
Почему просто не использовать std::wstring?
Yandex
Объявления
21.12.2013, 15:08     wchar_t to LPCWSTR
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru