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

Не могу разбить строку по разделителю - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Возможно ли как-то перехватить действия процесса и повторить их? http://www.cyberforum.ru/cpp-beginners/thread1788122.html
Доброго времени суток всем! Есть программа управляющая скоростью кулера. Я хотел бы каким-то образом записать и повторить действия, которые совершает программа по нажатию на кнопку. Подскажите возможно ли это и как это сделать? Спасибо. Зачем? Нет другой возможности контролировать работу кулера, а ноут перегревается и выключается. На сайте производителя ноута проблема не решается (уже...
C++ Цикл: каждый символ символьного массива вывести на новой строке консоли Доброго всем здравия, споткнулся на ровном месте, цикл do while отказывается делать, то что я хочу char S = "gcfhgcf hdhgf 4754 bmhfjh hfhf"; int i = 0; do { cout << S << endl; i++; } while (S == '\0'); http://www.cyberforum.ru/cpp-beginners/thread1788084.html
Как в условие if (ch !=.) внести несколько значений? C++
Добрый день! В программе создаю условие if(ch!='w')cout<<"Error"; Как можно записать условие(если это вообще возможно), когда допускается несколько литер, то есть кроме w, я хочу записать ещё , например, s, n. Пытался записать таким образом: if(ch!={'w','s','n','e'})cout<<"Error"; Но это неправильно.
Найти 5 наибольших элементов в двумерном массиве C++
В двумерном массиве нужно найти 5 наибольших элементов и вывести их на экран с указанием их индексов. Я только начал изучать C++, код программы я написал. У меня получилось в нем три "больших" цикла. Первый заполняется массив рандомными числами, второй находит 5 максимальных элементов, третий проходит весь массив и по значениям 5 максимальных элементов определяет их индексы. Если вывести 5...
C++ Подскажите пожалуйста, Почему применяется & к имени класса ? http://www.cyberforum.ru/cpp-beginners/thread1788072.html
Подскажите пожалуйста, Почему применяется & к имени класса. не могу понять для чего и как оно работает в int &atype::operator(int i) using namespace std; const int Size=3; class atype { int a; public: atype(int i) { for(int i=0;i<Size;i++) a=i; }
C++ Пример функции для изменения региона защиты памяти процесса с Read Only на Write Copy будьте добры привести пример функции для изменения региона защиты памяти процесса с Read Only на Write Copy VirtualAlloc - не подходит подробнее

Показать сообщение отдельно
nwpepper
0 / 0 / 0
Регистрация: 01.08.2016
Сообщений: 7
01.08.2016, 12:38  [ТС]     Не могу разбить строку по разделителю
с wcout просто черное окно консоли выдает.
Строка получается таким кодом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
WCHAR* getstrForCopyFiles(WCHAR* myStr, std::vector<std::string> &massID)
{
    WCHAR strForCopyFiles[MAX_PATH+1] = L"";
 
    for (std::vector<std::string>::iterator it = massID.begin(); it != massID.end(); it++)
    {   
        std::wstring stemp = s2ws(*it);
        LPCWSTR result = stemp.c_str();
        lstrcat(strForCopyFiles, result);
        lstrcat(strForCopyFiles, L"|");
        lstrcat(strForCopyFiles, myStr);
        lstrcat(strForCopyFiles, L";");
    }
 
    return strForCopyFiles;
}
где s2ws(*it) - это преобразование из std::string к std::wstring через такую функцию:
C++
1
2
3
4
5
6
7
8
9
10
11
std::wstring s2ws(const std::string& s)
{
    int len;
    int slength = (int)s.length() + 1;
    len = MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, 0, 0);
    wchar_t* buf = new wchar_t[len];
    MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, buf, len);
    std::wstring r(buf);
    delete[] buf;
    return r;
}
Память просто выделил как MAX_PATH+1

Добавлено через 3 минуты
to DemolitionMan:
У Вас в примере строка - это char*, а у меня - WCHAR*. Я не нашел процедуры перевода из wchar* в char*. Хотя если честно тут я вообще не понял почему нужно переводить, ведь WCHAR - это надстройка над char, в зависимости от того, какая стоит кодировка проекта. И вроде как должно быть автоматически в зависимости от настройки под что мы пишем - Unicode или нет. Я пытаюсь писать под Unicode, и не понимаю зачем переводить строки в char*.
 
Текущее время: 12:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru