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

WideCharToMultiByte и std::string - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вещественные числа с плавающей точкой, точность вычислений http://www.cyberforum.ru/cpp/thread598874.html
Работаю над проектом, требующим большую точность вычисления вещественных чисел. Решила использовать long double в надежде получить точность побольше. Столкнулась с тем, что C++ Builder просто отказывается давать желаемую точность. Точность необходима до 10^20. То есть до 20 числа после запятой. Подскажите пожалуйста как решить данную проблему.
C++ Нужен учебник Всем добрый день или вечер! Не могли бы вы мне посоветовать учебник для создания web-программ...программа должна работать с определённым сайтом. http://www.cyberforum.ru/cpp/thread598633.html
C++ Реестр: как считать QWORD в DWORD64
Доброго времени суток! Ни в какую не выходит считать параметр реестра, в котором содержится число. хочу считать его именно как число, а не как стоку, со строками проблем не было, все работало так: char mainboard; if(RegOpenKeyExA(HKEY_LOCAL_MACHINE,"HARDWARE\\DESCRIPTION\\System\\BIOS",0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS) { RegQueryValueEx(hKey, "BaseBoardProduct", NULL, NULL,...
C++ PROCESS_MEMORY_COUNTERS: какие поля отвечают за занимаемую оперативную и динамическую память
помогите разобраться со структурой PROCESS_MEMORY_COUNTERS typedef struct _PROCESS_MEMORY_COUNTERS { DWORD cb; DWORD PageFaultCount; SIZE_T PeakWorkingSetSize; SIZE_T WorkingSetSize; SIZE_T QuotaPeakPagedPoolUsage; SIZE_T QuotaPagedPoolUsage; SIZE_T QuotaPeakNonPagedPoolUsage;
C++ Нужно исправить ошибку (перевернуть в строке самое длинное "слово") http://www.cyberforum.ru/cpp/thread594572.html
Добрый день Дела обстоят так: Дана задача - написать программу, в которой вводится какое-то количество ЦИФР с пробелами, считывается это всё в строку, пробелы делят всё это на "слова". Нужно найти количество "слов", найти в строке самое длинное "слово" и перевернуть его - например было "12345", а стало "54321". Я написал программу, которая работает каким-то чудом, но она работает даже при вводе...
C++ С++. Как правильно сохранять структуры разного размера в одном файле? У меня есть структуры (struct) одного типа, но разного размера (длины строк в них отличаются). Как можно их загнать в файл, чтобы потом можно было по одной выгружать? Не используя всякие стоп-символы, которые в принципе могут попадаться в самих структурах. P.S. Пишу на Visual Studio 2008. подробнее

Показать сообщение отдельно
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
08.06.2012, 20:18     WideCharToMultiByte и std::string
Легален ли такой код? На мой взгляд, все правильно, но программа в 3 случаях из 1000 портит память, если в коде есть эта функция.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
std::string tomb(const std::wstring &str, size_t code_page)
 {  
  int cnt = WideCharToMultiByte((UINT)code_page, NULL, str.c_str(), -1, 0, 0, NULL, NULL);
  
  if(!cnt)
   return std::string();
 
  std::string f(cnt);
 
  if(!WideCharToMultiByte((UINT)code_page, NULL, str.c_str(), -1, &f[0], cnt, NULL, NULL))
   return std::string();
  
  f.resize(f.length()-1);
 
  return f;
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru