Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 35
1

Вывод long как const char

18.11.2017, 19:25. Показов 1760. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть некоторое число типа long
Есть функция DrawText(), принимающая const char
Как преобразовать long к const char, чтобы функция вывела это число?
Возможно, вопрос и вправду слишком глупый, тем не менее, буду рад любой помощи
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2017, 19:25
Ответы с готовыми решениями:

Как преобразовать const char * в long в С++, 0xE0E040BF в long
Помогите пожалуйста преобразовать текст в число на C++ const char * value=cmd; long ircode = ...

Невозможно преобразовать 'const char [6]' в 'long'
Есть код: FILE *Protectdll; FILE *Coredll; FILE *Console; Protectdll =...

Как char[] перевести в битовую маску long long(64 бита) и наоборот?
Как char перевести в битовую маску long long(64 бита) и наоборот?

Как преобразовать char[8] к unsigned long long?
Требуется выполнить преобразование char к unsigned long long и обратно

15
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
18.11.2017, 19:29 2
H4xX0r,
C++
1
2
3
#include <string>
//...
DrawText(hdc, std::to_string(longVal).c_str(), /* другие аргументы */ );
1
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 35
18.11.2017, 19:34  [ТС] 3
Так выглядит функция:
DrawText(x,y,1.0f,1.0f,1.0f,std::to_string(longvalue).c_str());
При использовании вашего способа получаю ошибку: неоднозначный вызов перегруженной функции

Забыл добавить, функция DrawText не связана с winapi, это я использую для рисования текста в opengl
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
18.11.2017, 19:38 4
Цитата Сообщение от H4xX0r Посмотреть сообщение
неоднозначный вызов перегруженной функции
к какой функции относится это сообщение? к std::to_string или к ДравТекст?
0
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 35
18.11.2017, 19:39  [ТС] 5
к std::to_string
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
18.11.2017, 19:40 6
H4xX0r,
C++
1
DrawText(x,y,1.0f,1.0f,1.0f,std::to_string((long)longvalue).c_str());
1
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 35
18.11.2017, 19:43  [ТС] 7
Та же ошибка, к сожалению
Миниатюры
Вывод long как const char  
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
18.11.2017, 19:45 8
H4xX0r, а ты точно
C++
1
#include <string>
подключил?
Студия какая стоит? ниже 2013?
0
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 35
18.11.2017, 19:46  [ТС] 9
агась
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
18.11.2017, 19:47 10
H4xX0r, нужно студию поновее скачать, чтобы с++11 поддерживался
0
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 35
18.11.2017, 19:48  [ТС] 11
то есть в старом стандарте c++ это сделать невозможно?
ладно, всё равно спасибо за уделённое время!
0
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
18.11.2017, 19:51 12
Лучший ответ Сообщение было отмечено H4xX0r как решение

Решение

H4xX0r,
Для старого стандарта:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cstdlib>
void DrawText(const char *txt) //как пример
{
    std::cout << txt << std::endl;
    return;
}
 
int main()
{
    long ln = 234245624;
    char str[11];
    itoa(ln, str, 10);
    DrawText(str);
    return 0;
}
1
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 35
18.11.2017, 19:53  [ТС] 13
Спасибо
А если мне изначально неизвестно это число?
Какой размер задать массиву str?
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
18.11.2017, 19:55 14
H4xX0r, std::to_string в с++11 добавилась, иначе попробуй через std::sprintf если разберешься
1
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 35
18.11.2017, 19:58  [ТС] 15
Вопрос решён, спасибо Ferrari F1 и Даценд!
0
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
18.11.2017, 19:58 16
Цитата Сообщение от H4xX0r Посмотреть сообщение
Какой размер задать массиву str?
11, на вырост.
10 (максимальное количество цифр в long) + 1 под нуль-символ ('\0').
1
18.11.2017, 19:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2017, 19:58
Помогаю со студенческими работами здесь

Чем отличаются объявления const char* и const* char
Прошу объяснить мне, чем отличаются объявления const char* и const* char и как объявить: указатель...

В программе имеется следующий фрагмент: const char a='*'; char ch; как объявится указатель-переменная
В программе имеется следующий фрагмент: const char a='*'; char ch; как объявляется...

Как сравнить char и const char?
Очередной раз столкнулся с проблемкой, сравнивая объекты из массива (char) нужно сравнить с const...

Перевести long long unsigned int в массив char
Подскажите, пожалуйста, как превратить число типа long long unsigned int в массив символов? Каждый...


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

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