Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2011, 19:40   #11
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Цитата:
вполне возможно, так почему бы это не использовать
Если критерием возможности является взрыв компьютера, то да. Просто это не будет работать.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 04.06.2011, 19:41   #12
acronis2000
Пользователь
 
Регистрация: 15.05.2011
Сообщений: 11
По умолчанию

char moneys[10];
TCHAR svText[10];

atof(wcstombs(moneys,svText,10));

что я не правильно сделал ?
выдает ошибку
E2034 Cannot convert 'unsigned int' to 'const char *'
E2342 Type mismatch in parameter '__s' (wanted 'const char *', got 'unsigned int')
acronis2000 вне форума Ответить с цитированием
Старый 04.06.2011, 19:44   #13
N1KeL
Пользователь
 
Аватар для N1KeL
 
Регистрация: 20.04.2009
Сообщений: 58
По умолчанию

Цитата:
Сообщение от Syuf Посмотреть сообщение
Если критерием возможности является взрыв компьютера, то да. Просто это не будет работать.
да, действительно, проверил; char-строка содержит только число 3. Почему так?
N1KeL вне форума Ответить с цитированием
Старый 04.06.2011, 19:46   #14
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Цитата:
The length in bytes of the resulting multibyte string, not including the ending null-character, is returned.
Код:
wcstombs(moneys,svText,10);
float f = atof(moneys);
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 04.06.2011, 19:49   #15
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Потому что операция преведения изменяет только тип указателя, не трогая содержимое, а вам как раз то и нужно перевести из одной кодировки в другую содержимое.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 04.06.2011, 19:55   #16
acronis2000
Пользователь
 
Регистрация: 15.05.2011
Сообщений: 11
По умолчанию

Уважаемый Syuf - все заработало !
Гигантское СПАСИБО - но только возникла маленькая проблема - числа с 2 знаками после запятой нормально преобразует , а у чисел с 4 знаками после запятой обрезаються последние 2 цифры после запятой - в чем может быть вопрос ?

ОЙ извините - все отлично работает !!! Это отображение у меня стоит 2 знака после запятой !

Огромное спасибо - вопрос решен !!!

Последний раз редактировалось acronis2000; 04.06.2011 в 19:58.
acronis2000 вне форума Ответить с цитированием
Старый 04.06.2011, 20:00   #17
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

У меня все прекрасно работает. Приведите число, его ввод, и, короче, весь код.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 04.06.2011, 20:06   #18
acronis2000
Пользователь
 
Регистрация: 15.05.2011
Сообщений: 11
По умолчанию

Еще раз Огромное спасибо - что не равнодушны к вопросу начинающего и потратили время на мой вопрос.
Уважение ВАМ и респект !!!
acronis2000 вне форума Ответить с цитированием
Старый 04.06.2011, 20:06   #19
N1KeL
Пользователь
 
Аватар для N1KeL
 
Регистрация: 20.04.2009
Сообщений: 58
По умолчанию

Цитата:
Сообщение от Syuf Посмотреть сообщение
Потому что операция преведения изменяет только тип указателя, не трогая содержимое, а вам как раз то и нужно перевести из одной кодировки в другую содержимое.
Еще учиться и учиться. Спасибо
N1KeL вне форума Ответить с цитированием
Старый 04.06.2011, 20:42   #20
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Еще учиться и учиться. Спасибо
если быть точным то Wide-строка после такого приведения начинает выглядеть так:
char* t={'3',0,'.',0,'1',0,'4',0,0,0}
соответственно дальше первого нуля функции принимающие нультерминальную строку её не видят.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование в число (Delphi) I.nessa Помощь студентам 14 14.12.2010 15:18
Преобразование строки символов в число. pa6kevi4 Общие вопросы C/C++ 2 15.09.2009 20:46
Преобразование строки Neeter Общие вопросы C/C++ 5 05.07.2009 16:25
преобразование строки xaero93 Помощь студентам 3 05.03.2009 13:00
Преобразование даты в вещественное число nova-alex Общие вопросы Delphi 5 03.05.2007 10:51