Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 28.04.2020
Сообщений: 33
1

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

11.08.2020, 17:04. Просмотров 1426. Ответов 12
Метки нет (Все метки)


Как преобразовать массив int в строку типа string?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.08.2020, 17:04
Ответы с готовыми решениями:

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

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

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

Как преобразовать List<int> в Массив <string>?
Есть такой лист типа int List&lt;int&gt; L = new List&lt;int&gt;(); L.Add(1); ...

12
1525 / 773 / 320
Регистрация: 11.10.2018
Сообщений: 4,054
11.08.2020, 17:09 2
По какому закону преобразование? Числа должны просто в строку? Или преобразовываются в символы?

Добавлено через 1 минуту
C++
1
2
3
4
#include <string>
using namespace std;
 
to_string();
0
6385 / 4288 / 1733
Регистрация: 07.05.2019
Сообщений: 13,108
Записей в блоге: 1
11.08.2020, 17:11 3
Цитата Сообщение от novichok875 Посмотреть сообщение
Как преобразовать массив int в строку типа string?
C++
1
2
3
4
5
6
7
8
9
        std::vector<int> arr(10);
        std::string s;
        for (auto x: arr)
        {
            s += std::to_string(x);
            s += ", ";
        }
 
        std::cout << s << std::endl;
0
0 / 0 / 0
Регистрация: 28.04.2020
Сообщений: 33
11.08.2020, 17:13  [ТС] 4
Цитата Сообщение от FFPowerMan Посмотреть сообщение
По какому закону преобразование? Числа должны просто в строку? Или преобразовываются в символы?
Просто в строку
0
зомбяк
1436 / 1098 / 312
Регистрация: 14.05.2017
Сообщений: 3,579
11.08.2020, 17:38 5
Цитата Сообщение от novichok875 Посмотреть сообщение
Просто в строку
числа в строке должны быть разделены пробелами или запятыми?
0
0 / 0 / 0
Регистрация: 28.04.2020
Сообщений: 33
11.08.2020, 17:55  [ТС] 6
Цитата Сообщение от TRam_ Посмотреть сообщение
числа в строке должны быть разделены пробелами или запятыми?
Нет
0
зомбяк
1436 / 1098 / 312
Регистрация: 14.05.2017
Сообщений: 3,579
11.08.2020, 18:02 7
novichok875, если нет, то например из массива чисел 10,33,32,345,432 получится строка 103332345432, правильно?
0
1525 / 773 / 320
Регистрация: 11.10.2018
Сообщений: 4,054
11.08.2020, 18:06 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <vector>
using namespace std;
 
int main()
{
vector<int> arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
string s;
for(auto x: arr)
    s += to_string(x);
cout << s << endl;
 
return 0;
}
http://cpp.sh/52ixa
0
259 / 179 / 86
Регистрация: 03.05.2020
Сообщений: 767
11.08.2020, 18:07 9
C++
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; i<n; i++)
    {
        itoa(a[i],s,10);
        str+=*new string(s);
    }
    cout<<str.c_str()<<endl;
0
652 / 465 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
11.08.2020, 18:23 10

Не по теме:

Цитата Сообщение от AnyKey Посмотреть сообщение
str+=*new string(s);
я испугался, когда увидел эту ересь



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

Не по теме:

AnyKey,

C++
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, особенно когда теряется указатель на его место

C++
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;

0
259 / 179 / 86
Регистрация: 03.05.2020
Сообщений: 767
11.08.2020, 18:26 11
C++
1
2
for(int i=0; i<n; i++)
  str+=itoa(a[i],s,10);
0
652 / 465 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
11.08.2020, 18:33 12
Цитата Сообщение от AnyKey Посмотреть сообщение
str+=itoa(a[i],s,10);
уже лучше, только на кой хрен нужен сишный itoa при работе с C++ строками?

Добавлено через 2 минуты
вообще, мне кажется все сишные функции нужно запретить, как это сделано в VS (там нужно прописать #define _CRT_SECURE_NO_WARNINGS, чтобы эти функции компилились)
0
Комп_Оратор)
Эксперт по математике/физике
8634 / 4347 / 590
Регистрация: 04.12.2011
Сообщений: 13,010
Записей в блоге: 16
11.08.2020, 18:37 13
Цитата Сообщение от novichok875 Посмотреть сообщение
Как преобразовать массив int в строку типа string?
Не существует такого преобразования.
Цитата Сообщение от novichok875 Посмотреть сообщение
Просто в строку
novichok875, говорит о том, что вы написали то чего сами не понимаете. Если разделителей нет то потеря информации неизбежна. В частности, нет однозначного обратного преобразования. То есть, к вопросу топика нужны строки с разъяснением того, что имеется в виду под:
Цитата Сообщение от novichok875 Посмотреть сообщение
преобразовать массив int в строку типа string
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2020, 18:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

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