С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 2
Регистрация: 29.09.2012
Сообщений: 59
1

Преобразуем int в string

01.10.2013, 17:44. Показов 1535. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Скажите, пожалуйста, почему здесь ошибка
C
1
2
3
4
5
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>
using namespace std;
C
1
2
3
4
5
6
7
8
string convertInt(int number)
{
    string str;
    char buffer [33];
    itoa(number, buffer, 10);
    str = (const char*) buffer;
    return str;
}
Миниатюры
Преобразуем int в string  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.10.2013, 17:44
Ответы с готовыми решениями:

Реализация функции char *padl(const char *string, int len, int c=' ')
Реализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо...

Как вставить элемент и вывести элементы на экран в map<string, map<string,int>> ?
У меня есть map&lt;string, map&lt;string,int&gt;&gt;, в него надо добавить элементы (типа Ivanov potato 200)...

Какая из этих функций int Q(int w) int W(int y,int u,int i) сработает быстрее?
Если есть 2 функции(простые или перегруженные) к примеру Q(int w) int W(int y,int u,int i)или int...

Функция isspace и тип string: Не существует подходящей функции преобразования из "std::string" в "int"
Добрый день! Я только начинаю изучать язык c++ по книге &quot;Язык программирования С++. Базовый курс...

17
159 / 98 / 25
Регистрация: 07.03.2013
Сообщений: 513
Записей в блоге: 1
01.10.2013, 17:48 2
Нужно подключить библиотеку в к-рой объявлена функция itoa
#include <что-то там>
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
01.10.2013, 17:51 3
попробуйте так
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <string>
#include <sstream>
 
...
std::string NumberToString(int Value)
    {
        std::stringstream StrStream;
        StrStream<<Value;
        std::string ValueAsString;
        StrStream>>ValueAsString;
        return ValueAsString;
    }
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.10.2013, 17:52 4
itoa() не айс (и не стандарт). Лучше std::to_string (C++11) или std::stringstream
0
1 / 1 / 2
Регистрация: 29.09.2012
Сообщений: 59
01.10.2013, 17:55  [ТС] 5
Цитата Сообщение от aLarman Посмотреть сообщение
попробуйте так
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <string>
#include <sstream>
 
...
std::string NumberToString(int Value)
    {
        std::stringstream StrStream;
        StrStream<<Value;
        std::string ValueAsString;
        StrStream>>ValueAsString;
        return ValueAsString;
    }
Summ2 - string
Миниатюры
Преобразуем int в string  
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.10.2013, 17:57 6
aLarman,
C++
1
return StrStream.str();
Добавлено через 1 минуту
Цитата Сообщение от EfimenkoFedor Посмотреть сообщение
Summ2 - string
а Summ2[i] - char. Уберите квадратные скобки.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
01.10.2013, 18:13 7
C++
1
2
sprintf (buffer, "%u", Value);
return std::string (buffer);
0
1 / 1 / 2
Регистрация: 29.09.2012
Сообщений: 59
01.10.2013, 18:17  [ТС] 8
А почему это неправильно работает
C
1
2
3
4
5
6
7
8
9
10
string Summ2(string Number_1, string Number_2){
    
    string Summ;
    
    for(int i=50; i>=0; i--){
        Summ[i] = '2';
    }
    
    return Summ;
}
Я хочу чтобы на выходе была строка из 51 символа "2"

но на выходе
C
1
2
3
AnswerNumber = Summ2(FirstNumber, SecondNumber);
    
    printf("Итог\n%s\n", AnswerNumber.c_str());
Я получаю
Код
222222222222222222222221
Это явно меньше 51 символа и еще 1 в конце почему-то
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.10.2013, 18:19 9
novi4ok, зачем мешать C/C++, и почему %u?

Добавлено через 2 минуты
Цитата Сообщение от EfimenkoFedor Посмотреть сообщение
А почему это неправильно работает
Потому что Вы неправильно написали. Если нужно создать std::string из нескольких одинаковых символов, используйте соответствующий конструктор:
C++
1
string (size_t n, char c);
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
01.10.2013, 18:20 10
Цитата Сообщение от Tulosba Посмотреть сообщение
novi4ok, зачем мешать C/C++, и почему %u?
0. тема - в "с++ > c++ для начинающих". sprintf - уже нелегально?
1. с прямым углом спутал.
0
1 / 1 / 2
Регистрация: 29.09.2012
Сообщений: 59
01.10.2013, 18:25  [ТС] 11
Цитата Сообщение от Tulosba Посмотреть сообщение
Потому что Вы неправильно написали. Если нужно создать std::string из нескольких одинаковых символов, используйте соответствующий конструктор:
C++
1
string (size_t n, char c);
Не ну одинаковые символы это я для примера написал, там будут всегда символы цифр, но не всегда одинаковые
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.10.2013, 18:38 12
Цитата Сообщение от novi4ok Посмотреть сообщение
0. тема - в "с++ > c++ для начинающих". sprintf - уже нелегально?
Имхо, мешать сишные строки с плюсовыми, если этого можно избежать, не стоит.
Цитата Сообщение от novi4ok Посмотреть сообщение
1. с прямым углом спутал.
Щито?

Добавлено через 1 минуту
EfimenkoFedor, если нужно писать в std::string по индексу, нужно сначала позаботиться о том, что строка содержит достаточную длину.
1
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
01.10.2013, 18:55 13
Цитата Сообщение от Tulosba Посмотреть сообщение
Имхо, мешать сишные строки с плюсовыми, если этого можно избежать, не стоит.
а то что?
Цитата Сообщение от Tulosba Посмотреть сообщение
Щито?
думал, всякий знает. погуглИ.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.10.2013, 19:06 14
Цитата Сообщение от novi4ok Посмотреть сообщение
думал, всякий знает. погуглИ.
Анекдот знаю. Но такого ответа вместо: "Ошибся. Конечно же надо %d" не ожидал.
Цитата Сообщение от novi4ok Посмотреть сообщение
а то что?
Стиль должен быть един. Вот что.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
01.10.2013, 19:10 15
стиль не этим определяется. так можно договориться до того, что всего, что допустимо в сях, нужно избегать с плюсах. тогда, правда, кроме "стиля" ничего не останется.
0
Неэпический
18112 / 10699 / 2062
Регистрация: 27.09.2012
Сообщений: 26,946
Записей в блоге: 1
02.10.2013, 03:46 16

Не по теме:

Цитата Сообщение от Algoritmer Посмотреть сообщение
Нужно подключить библиотеку в к-рой объявлена функция itoa
#include <что-то там>
прям в "библиотеке" объявлена?



Добавлено через 2 минуты
Цитата Сообщение от novi4ok Посмотреть сообщение
а то что?
возможно тогда не возникнет таких ситуаций:
C++
1
2
3
4
5
    string Summ;
    
    for(int i=50; i>=0; i--){
        Summ[i] = '2';
    }
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
02.10.2013, 09:56 17
Цитата Сообщение от Croessmah Посмотреть сообщение
возможно тогда не возникнет таких ситуаций
Дело, кстати, не только в этом. И даже, по большей части, не в стиле, о чем я говорил ранее. Главный момент это всё же - типобезопасность. Сишные *printf полагаются исключительно на строку формата, и не учитывают реального типа аргументов. Отсюда возможные всякие финты, которые до запуска выявить проблематично.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
02.10.2013, 19:46 18
Цитата Сообщение от Croessmah Посмотреть сообщение
возможно тогда не возникнет таких ситуаций:
C++
1
2
3
4
5
    string Summ;
    
    for(int i=50; i>=0; i--){
        Summ[i] = '2';
    }
как одно с другим?
0
02.10.2013, 19:46
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.10.2013, 19:46
Помогаю со студенческими работами здесь

string to int, int to string
Вообщем интересует сабж. Нашел в интернете две функции atoi &amp; itoa. Как-то не сраслось с ними....

int to string
Доброго времени суток! У меня есть массив(string)= {02, 10, 15, 45, 09...} я их разделила на...

из int в string
объясните ,пжлста, где ошибка. собственно задание такое: Enter one real and one integer number:...

String в Int
Как можно преобразовать String в Int ? Не могли бы вы привести пример на массиве строк ?


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru