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

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

Войти
Регистрация
Восстановить пароль
 
albannikov
12 / 12 / 2
Регистрация: 20.12.2012
Сообщений: 86
#1

Int To Str - C++

14.11.2013, 10:04. Просмотров 847. Ответов 15
Метки нет (Все метки)

Добрый день, товарищи. Подскажите плиз.

Есть структура: SSklad, массив SSklad Sklad[7];, и элемент массива Sklad[i].god (в структуре описан как int)

Не могу перевести Sklad[i].god в String
itoa не помогает.. вариантов много перепробовал.

Подскажите пжалста как корректно выполнить такое преобразование?

З.Ы. пишу в Визуал студии

// Заранее благодарю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2013, 10:04     Int To Str
Посмотрите здесь:

Int to Str - C++
Подскажите, пожалуйста, как число преобразовать в string (не char)

Функции str.size() и str.length() - в чем их разница? - C++
Существует 2 функции для определения размера строки в string str.size() и str.length() В чем их разница? Почитал, что вроде бы разницы нет...

как создать функцию или программу, чтобы str состояла из цифр,а также давалась новой строке str - C++
как создать функцию или программу, чтобы str состояла из цифр,а также давалась новой строке str

Error C4430: missing type specifier - int assumed. Note: C++ does not support default-int - C++
1>d:\program files\microsoft visual studio 9.0\visual studio 2008\projects\lab1\task5\task5\task5.cpp(6) : error C4430: missing type...

[Linker Error] Unresolved external 'Sort(int, int)' referenced from H:\INFORMATIC\5\UNIT1.OBJ - C++
понять не могу откуда, собственно, ошибка, да что там. Вот код ...

Написать функцию SUM (int M, int N) / С++ для начинающих - C++
Написать функцию SUM (int M, int N), которая вычисляет и возвращает сумму всех чисел кратных 3 и 9 в пределах от M и N включительно ....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
14.11.2013, 10:08     Int To Str #2
albannikov, Используй поток stringstream
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <sstream>
#include <string>
#include <iostream>
using namespace std;
 
int main()
{
int a=10;
string s;
stringstream ss;
ss <<a;
ss >>s;//все перевел в s должно быть "10"
cout <<s<<endl;
 
return 0
}
albannikov
12 / 12 / 2
Регистрация: 20.12.2012
Сообщений: 86
14.11.2013, 11:43  [ТС]     Int To Str #3
Цитата Сообщение от ninja2 Посмотреть сообщение
stringstream ss;
ss <<a;
ss >>s;//все перевел в s должно быть "10"
В визуале не работает (куча ошибок)

___________
Пробую так ещё:

C++
1
2
3
4
        int a = Sklad[i].god;
        string s;
        char ss;
        s = itoa(a,ss,10);
itoa: невозможно преобразовать параметр 2 из "char" в "char *"
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
14.11.2013, 11:45     Int To Str #4
C++
// c++11
string s = to_string(god);
albannikov
12 / 12 / 2
Регистрация: 20.12.2012
Сообщений: 86
14.11.2013, 11:50  [ТС]     Int To Str #5
Цитата Сообщение от programina Посмотреть сообщение
string s = to_string(god);
to_string: неоднозначный вызов перегруженной функции
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
14.11.2013, 12:08     Int To Str #6
C++
#include <cstdio>
 
int main() 
{
  int god = 2013;
  char s[32];
 
  sprintf(s, "%d", god);
  printf("%s\n", s);
}
Добавлено через 2 минуты
Цитата Сообщение от albannikov Посмотреть сообщение
to_string: неоднозначный вызов перегруженной функции
C++11
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
14.11.2013, 12:11     Int To Str #7
В визуал студио 2010 экспресс работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <sstream>
#include <string>
#include <iostream>
using namespace std;
 
int main()
{
int a=10;
string s;
stringstream ss;
ss <<a;
ss >>s;//все перевел в s должно быть "10"
cout <<s<<endl;
 
return 0;
}
Скачай vs2010
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
14.11.2013, 12:12     Int To Str #8
Цитата Сообщение от albannikov Посмотреть сообщение
itoa: невозможно преобразовать параметр 2 из "char" в "char *"
char ss[32];

И вообще, откройте уже учебник или гугл!
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
14.11.2013, 12:19     Int To Str #9
albannikov, можно вручную по разряду переводить, только тебе нужно для начала из числа выделить разряд(одиночный символ) от например число int b(3) можно перевести в char так char k=((char)b+'0'); Просто число разбей на цифры и затем каждую цифру переведи в чар, и потом из этих чар собери строку.
albannikov
12 / 12 / 2
Регистрация: 20.12.2012
Сообщений: 86
14.11.2013, 12:29  [ТС]     Int To Str #10
Цитата Сообщение от ninja2 Посмотреть сообщение
Скачай vs2010
10-ая стоит.

Цитата Сообщение от programina Посмотреть сообщение
char ss[32];
Всё заработало, спасибо, а можно разжевать пожулуйста, почему обязательно как символьный массив объявлять?
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
14.11.2013, 12:30     Int To Str #11
Цитата Сообщение от albannikov Посмотреть сообщение
10-ая стоит.
И у меня, а у тебя экспресс??
У меня код что выше работает, попробуй мб щас заработает!?
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
14.11.2013, 12:39     Int To Str #12
Цитата Сообщение от albannikov Посмотреть сообщение
10-ая стоит.
Всё заработало, спасибо, а можно разжевать пожулуйста, почему обязательно как символьный массив объявлять?
потому что функция принимает строковый аргумент, а не символьный.

строка - это "abcdef"
символ - это 'a'

ps: http://www.cplusplus.com/reference/cstdlib/itoa/
pps: лучше пользоваться sprintf()
albannikov
12 / 12 / 2
Регистрация: 20.12.2012
Сообщений: 86
14.11.2013, 14:39  [ТС]     Int To Str #13
Всем Спасибо, сделал что хотел сделать.

Добавлено через 1 час 56 минут
Возник новый вопрос. Дабы не создавать новой темы спрошу тут, ибо ситуация аналогичная.
Перевожу из float в String
C++
1
_gcvt(b,5,s);
Вещественные числа конвертирует отлично, но вот если число целое, то выводит на экран дополнительную точку.
т.е. в переменной "12" , а он возвращает "12."

Подскажите пжалста, как получить число без точки (если оно целое)?
Збасибо заранее
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
14.11.2013, 14:50     Int To Str #14
Цитата Сообщение от albannikov Посмотреть сообщение
Подскажите пжалста, как получить число без точки (если оно целое)?
Збасибо заранее
Просто
int a(0);
double b=3.5555;
a=b и у тебя получиться в а только 3

Добавлено через 2 минуты
Если хочешь округлить, то нужно 0.5 добавить к числу типа float, а затем уже переменной типа int присваивать.

Добавлено через 2 минуты
А да не прочитал что нужно просто удали ее нафиг из строки

Добавлено через 2 минуты
Отак сделай str.resize(str.size()-1) и точка в конце пропадет.
albannikov
12 / 12 / 2
Регистрация: 20.12.2012
Сообщений: 86
14.11.2013, 14:56  [ТС]     Int To Str #15
Решил так сделать:
C++
1
sprintf(s, "%.1f", b);  // Конвертируем из флоат в стринг
Теперь целые числа выводятся с так "7.0" (было "7.")
Просто числа выводятся в ряд , надо было ровно вывести
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2013, 15:32     Int To Str
Еще ссылки по теме:

Invalid types `int[int]' for array subscript - C++
Есть структура в которой есть данные. Хочу поменять значение void editz(char db) {readdb(db); int j,a; cout&lt;&lt;&quot;kakoy nomer...

Определение типов. Приведение int к unsigned int - C++
При таком определении 5 рассматривается как int. Как при определении указать что 5 будет именно unsigned int? unsigned int n=5; ...

[Error] invalid conversion from 'int' to 'int*' [-fpermissive] - C++
Возникли ошибки при компиляции: invalid conversion from 'int' to 'int*' wrong type argument to unary minus Код, где и вылезли...

Класс Int имитирующий встроенный тип int - C++
Создать класс Int (с заглавной буквы) имитирующий встроенный тип int и позволяющий следующие конструкции: Int i = 0; i = i+1; i++; ...


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

Или воспользуйтесь поиском по форуму:
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
14.11.2013, 15:32     Int To Str #16
Цитата Сообщение от albannikov Посмотреть сообщение
Решил так сделать:
C++
1
sprintf(s, "%.1f", b);  // Конвертируем из флоат в стринг
Теперь целые числа выводятся с так "7.0" (было "7.")
Просто числа выводятся в ряд , надо было ровно вывести
Зачем? У вас ведь год - целое число.
Для отступа делайте так:
C++
#include <cstdio>
 
int main() 
{
  int god = 12;
  char s[32];
 
  sprintf(s, "%d", god);
  printf("%4s", s);
}
Добавлено через 16 минут
Не заметила новый вопрос, но суть печати та же, надо только поменять %d на %1.1f
Yandex
Объявления
14.11.2013, 15:32     Int To Str
Ответ Создать тему
Опции темы

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