Как записать int в string c
Перейти к содержимому

Как записать int в string c

  • автор:

Как преобразовать массив int в строку string?

Как преобразовать строку string в int?
имеется строка string которая содержит такие наборы символов — "0,0,0,3,32,253,0,0,43" необходимо.

Как преобразовать строку char в массив int?
Дана строка символов S, состоящая из чисел, разделенных пробелами Нужно выделить числа и засунуть.

Как разделить и преобразовать строку из string в int?
Требуется создать приложение для нахождения максимального числа из строки. Поиск по форумам дал.

2056 / 1154 / 482
Регистрация: 11.10.2018
Сообщений: 5,827

По какому закону преобразование? Числа должны просто в строку? Или преобразовываются в символы?

Добавлено через 1 минуту

1 2 3 4
#include using namespace std; to_string();

6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726

ЦитатаСообщение от novichok875 Посмотреть сообщение

Как преобразовать массив int в строку типа string?

1 2 3 4 5 6 7 8 9
std::vectorint> arr(10); std::string s; for (auto x: arr) { s += std::to_string(x); s += ", "; } std::cout   ::endl;

Регистрация: 28.04.2020
Сообщений: 33

ЦитатаСообщение от FFPowerMan Посмотреть сообщение

По какому закону преобразование? Числа должны просто в строку? Или преобразовываются в символы?
Просто в строку
1582 / 1216 / 345
Регистрация: 14.05.2017
Сообщений: 3,939

ЦитатаСообщение от novichok875 Посмотреть сообщение

Просто в строку
числа в строке должны быть разделены пробелами или запятыми?
Регистрация: 28.04.2020
Сообщений: 33

ЦитатаСообщение от TRam_ Посмотреть сообщение

числа в строке должны быть разделены пробелами или запятыми?
1582 / 1216 / 345
Регистрация: 14.05.2017
Сообщений: 3,939

novichok875, если нет, то например из массива чисел 10,33,32,345,432 получится строка 103332345432, правильно?

2056 / 1154 / 482
Регистрация: 11.10.2018
Сообщений: 5,827

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#include #include #include using namespace std; int main() { vectorint> arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; string s; for(auto x: arr) s += to_string(x); cout   ; return 0; }

263 / 182 / 87
Регистрация: 03.05.2020
Сообщений: 790

1 2 3 4 5 6 7 8 9 10
int a[]={10,33,32,345,432}; int n=sizeof(a)/sizeof(int); char s[11]; string str=""; for(int i=0; in; i++) { itoa(a[i],s,10); str+=*new string(s); } coutc_str();

653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987

ЦитатаСообщение от AnyKey Посмотреть сообщение

str+=*new string(s);
я испугался, когда увидел эту ересь

Добавлено через 4 минуты

1 2 3 4 5 6 7 8 9 10 11
int a[] = { 10,33,32,345,432 }; int n = sizeof(a) / sizeof(int); char s[11]; string str = ""; while(1) { _itoa(a[0], s, 10); str += *new string(s); str.clear(); } cout  str.c_str()  endl;

если ты запустишь этот код, увидишь утечку памяти

Добавлено через 2 минуты
а этот её не имеет, поэтому не нужно лишний раз в С++ использовать new, особенно когда теряется указатель на его место

1 2 3 4 5 6 7 8 9 10 11
int a[] = { 10,33,32,345,432 }; int n = sizeof(a) / sizeof(int); char s[11]; string str = ""; while(1) { _itoa(a[0], s, 10); str += string(s); str.clear(); } cout  str.c_str()  endl;

263 / 182 / 87
Регистрация: 03.05.2020
Сообщений: 790

for(int i=0; in; i++) str+=itoa(a[i],s,10);

653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987

ЦитатаСообщение от AnyKey Посмотреть сообщение

str+=itoa(a[i],s,10);

уже лучше, только на кой хрен нужен сишный itoa при работе с C++ строками?

Добавлено через 2 минуты
вообще, мне кажется все сишные функции нужно запретить, как это сделано в VS (там нужно прописать #define _CRT_SECURE_NO_WARNINGS, чтобы эти функции компилились)

Комп_Оратор)

Эксперт по математике/физике

8927 / 4684 / 626
Регистрация: 04.12.2011
Сообщений: 13,941
Записей в блоге: 16

ЦитатаСообщение от novichok875 Посмотреть сообщение

Как преобразовать массив int в строку типа string?
Не существует такого преобразования.

ЦитатаСообщение от novichok875 Посмотреть сообщение

Просто в строку

novichok875, говорит о том, что вы написали то чего сами не понимаете. Если разделителей нет то потеря информации неизбежна. В частности, нет однозначного обратного преобразования. То есть, к вопросу топика нужны строки с разъяснением того, что имеется в виду под:

ЦитатаСообщение от novichok875 Посмотреть сообщение

преобразовать массив int в строку типа string
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Как преобразовать строку в массив String []?
Есть переменная, в которой записан текст из файла. Эту переменную необходимо преобразовать в.

Как преобразовать число типа int в строку типа string без методов-конвертов на C#?
В общем, все что выше написано. Пишу в Visual Studio на C#. Преобразовать без конвертирования.

Не могу нигде найти — как преобразовать массив int в строку, или сразу в число
Народ помогите пожалуйста. Число long 9876543210 было переведено в int namArr = .

Преобразовать массив String в двумерный массив int
Всем привет. Имеется массив String a, в котором хранятся числа. Требуется преобразовать его в.

Как преобразовать String^ в int ?
Есть строка Srting^ str=gcnew String("123"); Возможно ли преобразовать эту строку в число int.

Как преобразовать string в int ? С++
Здравствуйте, можете объяснить как преобразовать string в int ? С++. Объясните как можно проще.

Преобразовать in в строку в C++

В этом посте мы обсудим, как преобразовать int в строку на C++.

1. Использование std::to_string функция

Наиболее распространенным и эффективным способом является использование std::to_string функция, представленная в C++11, которая возвращает строковое представление указанного значения. Он перегружен для всех типов данных.

Мы также можем использовать std::to_wstring , который возвращает std::wstring .

std :: string s = std :: to_string ( i ) ;
std :: cout << s << std :: endl ;

результат:

10

2. Использование строковых потоков

Другой хорошей альтернативой является использование stringstream для преобразования между строками и другими типами данных. Идея состоит в том, чтобы вставить данное целое число в поток, а затем записать содержимое его буфера в std::string используя свой str() функция. Нам необходимо включить заголовочный файл для этого.

Как записать int в string c

Спасибо! Попробую.
Можно еще один вопросик в догонку?
Как перевести число из DEC в HEX и наоборот?
В VB, например, есть такая функция Hex().

Re[3]: int в string

От: Mishka
Дата: 13.05.02 15:02
Оценка:

Здравствуйте Аноним, Вы писали:

А>Как перевести число из DEC в HEX и наоборот?
А>В VB, например, есть такая функция Hex().

А зачем? Вот пример:

#include int main() < int x = 0xFF; int y = 255; std::cout " " return 0; >

Re[4]: int в string

От: epitaph
Дата: 13.05.02 15:05
Оценка:

Здравствуйте Mishka, Вы писали:

M>Здравствуйте Аноним, Вы писали:

А>>Как перевести число из DEC в HEX и наоборот?
А>>В VB, например, есть такая функция Hex().

M>А зачем? Вот пример:
M>

M>#include M>int main() M> < M>int x = 0xFF; M> int y = 255; M> std::cout " " return 0; M>> M>

Спасибо. Буду дерзать дальше.

Re[5]: int в string

От: epitaph
Дата: 13.05.02 15:17
Оценка:

Здравствуйте epitaph, Вы писали:

E>Здравствуйте Mishka, Вы писали:

M>>Здравствуйте Аноним, Вы писали:

А>>>Как перевести число из DEC в HEX и наоборот?
А>>>В VB, например, есть такая функция Hex().

M>>А зачем? Вот пример:
M>>

M>>#include M>>int main() M>>< M>> int x = 0xFF; M>> int y = 255; M>> std::cout " " > return 0; M>>> M>>

E>Спасибо. Буду дерзать дальше.

Да, как объявить понятно, а как перевести y = 255 в HEX и получить ответ, например, в x?

Re[6]: int в string

От: Mishka
Дата: 13.05.02 15:55
Оценка:

Здравствуйте epitaph, Вы писали:

E>Да, как объявить понятно, а как перевести y = 255 в HEX и получить ответ, например, в x?

Легко:
x = y;
Потому что всё равно числа там храняться как последовательность 0 и 1.

Я вообщем-то потому и спрашивал «а зачем». На экран надо вывести? Так это другой вопрос.

Re[7]: int в string

От: epitaph
Дата: 13.05.02 16:00
Оценка:

Здравствуйте Mishka, Вы писали:

M>Здравствуйте epitaph, Вы писали:

E>>Да, как объявить понятно, а как перевести y = 255 в HEX и получить ответ, например, в x?

M>Легко:
M>x = y;
M>Потому что всё равно числа там храняться как последовательность 0 и 1.

M>Я вообщем-то потому и спрашивал «а зачем». На экран надо вывести? Так это другой вопрос.

Да, надо вывести полученный результат на экран.
В принцыпе есть форма а в ней два текстовых поля —
в одном DEC, а в другом HEX.

Re: int в string

От: ioni
Дата: 13.05.02 18:11
Оценка:

Здравствуйте epitaph, Вы писали:

E>Помогите чайнику, ПЛИЗЗЗ.
E>Как преобразовать тип INT в STRING?

более общий способ туда и обратно

Re[4]: int в string

От: Алекс http://wise-orm.com
Дата: 14.05.02 02:34
Оценка:

Здравствуйте Mishka, Вы писали:

M>Здравствуйте Аноним, Вы писали:

А>>Как перевести число из DEC в HEX и наоборот?
А>>В VB, например, есть такая функция Hex().

M>А зачем? Вот пример:
M>

M>#include M>int main() M> < M>int x = 0xFF; M> int y = 255; M> std::cout " " return 0; M>> M>

Чуть-чуть не правильно:

int main() < int x = 0xFF; int y = 255; std::cout hex " " dec return 0;

Re[5]: int в string

От: Mishka
Дата: 14.05.02 07:20
Оценка:

Здравствуйте Алекс, Вы писали:

А>Чуть-чуть не правильно:
А>

А>int main() А> < А>int x = 0xFF; А> int y = 255; А> std::cout hex " " dec return 0; А>

Да не-е. Всё там правильно. Я просто хотел показать, что нет никакой разницы как хранить int в десятичной или в шестнадцатиричной форме.

Re[8]: int в string

От: Mishka
Дата: 14.05.02 07:23
Оценка:
#include using namespace std; void main() < int n = 255; char buffer[20]; _itoa(n, buffer, 16); cout

Как записать int в string c

Нередко может возникнуть необходимость объединить строку с данными других типов, например, числами. Однако объединить строку мы можем только с другой строкой. Поэтому данные других типов вначале необходимо преобразовать в строку. Для преобразования в строку применяется функция std:to_string() , в которую передается преобразуемое значение:

#include #include int main() < unsigned age; std::string message< "Age: " + std::to_string(age)>; std::cout 

Функции преобразования из строки в число

Нередко может вощникнуть противиположная задача — преобразовать строку в другой тип. Есть ряд функций, которые преобразуют строку в число определенного типа:

  • stoi() : преобразует в тип int
  • stol() : в long
  • stoll() : в long long
  • stoul() : в unsigned long
  • stoull() : в unsigned long long
  • stof() : в float
  • stod() : в double
  • stold() : в long double

Все они определены в модуле , работают однотипно и в качестве параметра принимают преобразуемую строку:

std::string str< "123" >; int n< std::stoi(str) >; // n == 123

Преобразование строки в указатель на символы

При необходимости можно преобразовать значение типа string в указатель на символы. Для преобразования в указатель на константную строку применяется метод c_str() :

#include #include int main() < std::string message ; const char* message_ptr = message.c_str(); // преобразуем в указатель std::cout

Для получения указателя также можно применять метод data() , который возвращает указатель на неконстантное значение, если объект string не является константой.

#include #include int main() < std::string message ; char* message_ptr = message.data(); // преобразуем в указатель std::cout

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *