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

Перевод long double в строку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дан текстовый файл, содержащий даты .число месяц и год. найдите самую позднюю дату http://www.cyberforum.ru/cpp-beginners/thread919503.html
Доброго времени суток. Срочно нужна помощь, сижу на экзамене) Билет с таким заданием. Если можно, распишите подробней. Заранее спасибо. смотрел на форуме в уже заданных ,но не понял.
C++ Формирование списка Начал учить Си недавно. ВРоде все идет более-менее нормально, но на списках я встал колом и не могу понять почему так происходит. Итак, задача состоит в том, чтобы по заранее введенным хапактеристикам выводить графики функций. В начале работы мы не знаем сколько их хочет ввести пользователь. Как можно реализовать список для данной задачи? Вот все структуры, которые я использую в своей программе... http://www.cyberforum.ru/cpp-beginners/thread919468.html
C++ Написать функцию, возвращающую преобразованную к верхнему регистру строку, полученную в качестве аргумента
// функция upcase #include <stdio.h> #include <conio.h> #include <iostream> using namespace std; //функция преобразования строчных букв в прописные char* upcase(char *st) {
C++ Аргументы шаблонного метода как объекты
Не могу решить одну задачу. вот три класса class win {}; class obj1 {}; class obj2 {};
C++ Шаблоны и определение SSE типов на этапе компиляции http://www.cyberforum.ru/cpp-beginners/thread919377.html
Добрый вечер. Задача следующая: для каждого базового типа даных int, float и double есть свой intrinsic SSE тип - __m128i, __m128 и __m128d соответсвенно. Предположим, что для каждого перечисленного типа у меня есть реализация некоторой функции: //Реализация для int void func(int *data) { __m128i* data_sse = (__m128i*) data; } //Реализация для float void func(float *data)
C++ Очистка/удаление файла *.txt с помощью fstream Как с помощью#include <fstream> очистить/удалить файл по заданному пути? подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
10.07.2013, 10:37     Перевод long double в строку
у меня всё ок:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <cstring>
 
using namespace std;
 
void ld_to_str(long double ld, char* str)
{
    string s = to_string(ld);
    strcpy(str, s.c_str());
}
 
int main()
{
    long double ld = 12345.12345;
    char str[100];
    ld_to_str(ld, str);
    cout << str << endl;
    return 0;
}
Вы сначала трансформируете в std::string, затем в массив чаров. Зачем так много действий. Достаточно обойтись только std::string:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
using namespace std;
 
std::string ld_to_str(long double ld)
{
    return to_string(ld);
}
 
int main()
{
    long double ld = 12345.12345;
    std::string string_value = ld_to_str(ld);
    cout << string_value << endl;
    return 0;
}
Оба кода выдают один и тот же результат:
Bash
1
12345.123450
 
Текущее время: 21:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru