С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
100 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,605
1

Копирование std::wostringstream в Си строку (char)

28.12.2015, 15:41. Показов 1077. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уже всё облазил, нигде не нашел...

Вот в этой строке(или массиве)(без '\0' в конце), находится хэш sha1:
C++
1
byte result[20];
Мне нужно его отобразить в 16ричном виде в MessageBox(строка с '\0' в конце):
C++
1
2
char Hex[41]; Byte2Hex(result, Hex);
MessageBoxA(hWnd, Hex, "HEX", 0);
Вот тут собственно и проблемы:
C++
1
2
3
4
5
6
7
void Byte2Hex(byte bValue[], char lpBuff[])
{
    std::wostringstream oss;
    for(int i = 0; i < 20; ++i) oss << std::hex << std::setw(2) << std::setfill('0') << static_cast<unsigned>(bValue[i]);
    //std::copy(lpBuff, длина чего - то, bValue);
    strcpy(lpBuff, oss.str());
}
1. Я правильно указал? Скобки нужны? Может звездочки надо поставить? Byte2Hex(byte bValue[], char lpBuff[])

2. как узнать длину byte bValue[]? А то i < 20...

3. Как записать в char lpBuff[] с нуль терминатором в конце, строку oss?

4. Правильно ли будет так?:
C++
1
2
byte result[20];
char Hex[sizeof(result) * 2 + 1];
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
28.12.2015, 15:41
Ответы с готовыми решениями:

(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&
astxx::manager::connection::connection(std::basic_string&lt;char, std::char_traits&lt;char&gt;,...

ошибка в программе (cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*')
int main() { string fileName, currWord, currMax = &quot;&quot;; cin&gt;&gt;fileName; ...

IntelliSense: отсутствует оператор "<<", соответствующий этим операндам типы операндов: std::basic_ostream<char, std::char_traits<char>
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; struct Stydent { std::string...

Найти вхождение одного символа std::string в строку char*
Каким образом можно найти вхождение одного символа std::string в строку char*? Наоборот то понятное...

1
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
28.12.2015, 16:38 2
C++
1
2
3
4
5
6
7
8
9
10
wchar_t Hex[100];
Byte2Hex(result, Hex);
MessageBoxW(hWnd, Hex, L"HEX", 0);
 
void Byte2Hex(byte bValue[], wchar_t *lpBuff)
{
    std::wostringstream oss;
    for(int i = 0; i < 20; ++i) oss << std::hex << std::setw(2) << std::setfill(L'0') << static_cast<unsigned>(bValue[i]);
    wcscpy(lpBuff, oss.str().c_str());
}
1
28.12.2015, 16:38
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
28.12.2015, 16:38
Помогаю со студенческими работами здесь

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri
на вод поступают 2 строки типа string. определить количество вхождений строки 2 в строку 1 ошибка...

Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}'
на #define LOG(Variable) Log&lt;&lt;&quot;&lt;&quot;;...

Error LNK2019: ссылка на неразрешенный внешний символ "class std::basic_ostream<char,struct std::
Здравствуйте! Сразу попрошу прощения за тупой вопрос. Почему при перегрузке operator &lt;&lt; код...

Странная ошибка: [Error] no match for call to '(std::string {aka std::basic_string<char>}) (int&)'
У меня появляется проблема при компиляции сей программы: #include &lt;iostream&gt; #include &lt;string&gt;...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru