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

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

Войти
Регистрация
Восстановить пароль
 
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 542
#1

Перевод из wchar_t* в int (double) - C++

29.07.2015, 15:52. Просмотров 262. Ответов 1
Метки нет (Все метки)

Как перевести из wchar_t* в int (double) без учета впереди стоящих нулей?
то есть у меня есть строка типа 050609, где 05 часов 06 минут и 09 секунд
делаю так
C++
1
2
3
4
5
6
7
8
wchar_t token[100] = L"050609";
wchar_t buff[10] = L"";
wcsncpy(buff, token, 2);
int hTime = _wtoi(buff);
wcsncpy(buff, token+2, 2);
int mTime = _wtoi(buff);
wcsncpy(buff, token + 4, 2);
int sTime = _wtoi(buff);
и как понимаю, у меня идет преобразование из восьмеричной системы? то есть с числами до 10 сработает, а если будет строка 0571, то я не получу число 571? как это исправить?

И еще попутный вопрос, надо ли проводить очистку buff перед каждым использованием или при использовании wcsncpy содержимое buff заменяется и последний символ запишется \0?
при использовании примерно следующего кода что я получу?
C++
1
2
3
4
wchar_t token[100] = L"050609";
wchar_t buff[10] = L"";
wcsncpy(buff, token, 4);
wcsncpy(buff, token, 2);
buff =="05" или buff =="0506"?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2015, 15:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод из wchar_t* в int (double) (C++):

Перевод int и double в char* - C++
Возникла следующая проблема. Нужно сделать: //Реализовать класс var - «Универсальная переменная». Объекты экземпляры этого класса...

Преобразовать 2 числа int в 1 число float(double) | double int1.int2 - C++
Всем привет. Изучая азы C++, столкнулся с такой проблемой. Есть два значения типа int, их необходимо преобразовать в одно значение типа...

Double, int , long double - C++
Как вычислить диапазоны типов вручную указанных в название темы?

Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double - C++
Думаю из-за polp #include<iostream> #include<cmath> #include<cstdlib> using namespace std; double polp(double af,double...

int* to double* - C++
double* myDoublePtr; int myInt = 5; int* myIntPtr; myIntPtr = &myInt; // cout << "myIntPtr: " << myIntPtr << " "...

int и double - C++
//--------------------------------------------------------------------------- #include "math.h" #include <stdio.h> #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
29.07.2015, 18:10 #2
Почему ты считаешь, что будет в восьмеричной системе? Используй wsctol().
Очистку проводить не надо, а вот конец строки устанавливать надо.
C++
1
2
3
4
5
wchar_t token[100] = L"050609";
wchar_t buff[10];
wcsncpy(buff, token, 2);
buff[2] = L'\0';
int hTime = wcstol(buff, NULL, 10);
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2015, 18:10
Привет! Вот еще темы с ответами:

2 int to double - C++
Здравствуйте. Вот такой вопрос. В памяти хранится 2 int числа - рубли и копейки, при выводе выводятся через запятую. В задании нужно...

double в int - C++
собственно вопрос в шапке, как перевести double в int? т.е. также как работает делфийская функция round, округлить до целых и выдать число...

double и int - C++
double buf = Convert::ToDouble(pole->Text);//Обьявляем переиенную buf switch (regim) { case '%': pole->Text =...

float double int - C++
Доброй ночи, препод совсем запарил, то ему не так, то ему не эдак. // 8.2.cpp: определяет точку входа для консольного приложения. // ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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