Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/312: Рейтинг темы: голосов - 312, средняя оценка - 4.62
0 / 0 / 1
Регистрация: 02.02.2011
Сообщений: 114

Преобразование char в string и обратно

01.12.2013, 08:04. Показов 65868. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть массив char x[3], в нём содержатся элементы 1,2,3; нужно получить 3 строки типа string, в первой должно быть "1", во второй "2" и в третьей "3". Далее дописать вторую строку к первой чтоб в первой было "12" и преобразовать её обратно в массив чар, только так чтоб в нём был один элемент-"12". В конце нужен именно массив, в него потом дописываются элементы.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.12.2013, 08:04
Ответы с готовыми решениями:

Char* в string и обратно. C++ Bulider 6.InputBox
Как преобразовать string в char* а после этот char* в string? Если не трудно,то можно вкратце объяснить что такое char* и char**. В...

Преобразование int char и обратно
надо разложить число на два байта... unsigned char ghj; int fff = 11111; ghj = fff / 256; ghj = fff - (ghj * 256); //обратно ...

Преобразование между типами System::String, char*, wchar_t*, std::string и др.
При написании кода, взаимодействующего как с .NET и управляемым кодом, так и с неуправляемым кодом (такими как стандартные библиотеки C и...

30
91 / 91 / 22
Регистрация: 02.07.2013
Сообщений: 332
01.12.2013, 09:20
C++
1
string s1 = string( x[0] ); // в s1 будет "1"
Строки string можно складывать без проблем. Что нужно в конце так и не понятно, но string переписать в char* можно тоже без проблем.
0
0 / 0 / 1
Регистрация: 02.02.2011
Сообщений: 114
01.12.2013, 09:39  [ТС]
Цитата Сообщение от c0rvax Посмотреть сообщение
C++
1
string s1 = string( x[0] ); // в s1 будет "1"
Строки string можно складывать без проблем. Что нужно в конце так и не понятно, но string переписать в char* можно тоже без проблем.
Ну а как складывать то строки? В конце после сложения у меня в одной из строк должно быть "12" и мне это надо в чар преобразовать.
0
91 / 91 / 22
Регистрация: 02.07.2013
Сообщений: 332
01.12.2013, 12:01
Yazu, может, созволишь F1 нажать на string, если очень трудно догадаться, что
C++
1
2
3
string s1 = "1";
string s2 = "2";
string s12 = s1 + s2; // будет "12"
0
0 / 0 / 1
Регистрация: 02.02.2011
Сообщений: 114
02.12.2013, 07:40  [ТС]
Цитата Сообщение от c0rvax Посмотреть сообщение
C++
1
string s1 = string( x[0] ); // в s1 будет "1"
Строки string можно складывать без проблем. Что нужно в конце так и не понятно, но string переписать в char* можно тоже без проблем.
Попытался так сделать, билдер выдал ошибку:
C++ (Qt)
1
2
3
4
   
   string a,b;
   a=string(y[i]);
   b=string(x[i+v]);
[C++ Error] Unit1.cpp(55): E2285 Could not find a match for 'string::basic_string(char)'
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
02.12.2013, 09:02
Цитата Сообщение от Yazu Посмотреть сообщение
string
Ну это же билдер. Используйте String.
0
0 / 0 / 1
Регистрация: 02.02.2011
Сообщений: 114
02.12.2013, 09:36  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Ну это же билдер. Используйте String.
хорошо, это работает. Пожалуй последний вопрос, как теперь из стринга n-ой длины сделать char?
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
02.12.2013, 09:45
Цитата Сообщение от Yazu Посмотреть сообщение
из стринга n-ой длины сделать char?
C++
1
2
3
4
5
6
7
8
String str = "1234567";
 
char *ch = new char[str.Length()];
ch = str.c_str();
 
ShowMessage( ch );
 
delete ch;
0
0 / 0 / 1
Регистрация: 02.02.2011
Сообщений: 114
02.12.2013, 09:59  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
String str = "1234567";
 
char *ch = new char[str.Length()];
ch = str.c_str();
 
ShowMessage( ch );
 
delete ch;
А если у меня массив чар и нужно в один из его элементов записать эту строку, т.е. перевести в чар и записать в массив....
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
02.12.2013, 10:06
Yazu, массив двухмерный? Или как записать строку в один символ?

Добавлено через 14 секунд
Или строка из одного символа?
0
0 / 0 / 1
Регистрация: 02.02.2011
Сообщений: 114
02.12.2013, 10:13  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Yazu, массив двухмерный? Или как записать строку в один символ?

Добавлено через 14 секунд
Или строка из одного символа?
массив одномерный динамический.
в том что мы преобразовываем всегда цифры. т.е. 2 строки сложили-в каждой из них числа. может быть 1,2 или многозначные (до 100 млн) когда сложим-получим одну строку с числом, к примеру "100000000" и теперь надо эту строку перевести в чар и записать в массив. чтоб в этом элементе массива хранилось это число, в данном случае сто миллионов.
C++ (Qt)
1
2
char *x;
x = new char[n];
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
02.12.2013, 10:21
Цитата Сообщение от Yazu Посмотреть сообщение
чтоб в этом элементе массива хранилось это число, в данном случае сто миллионов
В элементе массива не может храниться сто миллионов. В нем может храниться единичка, нолик - в общем только один символ.
0
0 / 0 / 1
Регистрация: 02.02.2011
Сообщений: 114
02.12.2013, 10:23  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
В элементе массива не может храниться сто миллионов. В нем может храниться единичка, нолик - в общем только один символ.
почему? Если я создаю массив к примеру double из 100 элементов и читаю числа из stringgrid, всё же отлично работает. и сохраняется он числа, а не 1 или 0.
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
02.12.2013, 10:28
Цитата Сообщение от Yazu Посмотреть сообщение
Если я создаю массив к примеру double из 100 элементов и читаю числа из stringgrid, всё же отлично работает
Продемонстрируйте пожалуйста. А то так не сильно понятно.
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
02.12.2013, 10:30
Yazu, а strcpy не пробовали, или не устраивает?__
C++
1
2
3
     String FG = "Ó ïðèðîäû íåò ïëîõîé ïîãîäû.";
     char du[100];
     strcpy(du,FG.c_str());
0
0 / 0 / 1
Регистрация: 02.02.2011
Сообщений: 114
02.12.2013, 10:33  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Продемонстрируйте пожалуйста. А то так не сильно понятно.
к примеру в StringGrid 5 ячеек, в которых соответственно хранятся числа 10, 100, 1000, 10000, 100000;
В Edit я ввожу количество ячеек, и потом же могу его оттуда прочитать.

C++ (Qt)
1
2
3
4
5
6
7
8
int n=StrToInt(Edit1->Text);
int *x;
x=new int[n];
 
for(int i=0;i<n;i++)
{
 x[i]=StrToTnt(StringGrid1->Cells[0][i]);
}
Вот так и можно прочитать в массив все эти числа
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
02.12.2013, 10:37
Вот. Картинку нарисовал:
0
0 / 0 / 1
Регистрация: 02.02.2011
Сообщений: 114
02.12.2013, 10:38  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Вот. Картинку нарисовал:
Вложение 335905
Так у меня не просто char у меня массив из char'ов
вот же:
C++ (Qt)
1
2
char *x;
x = new char[n];
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
02.12.2013, 10:42
Цитата Сообщение от Yazu Посмотреть сообщение
массив из char'ов
Именно. В просто char залезет только один символ. Один символ. Не два. Один.
В массив char залезет несколько символов. Строка.
В массив массивов (двухмерный массив) char залезет несколько строк.
0
0 / 0 / 1
Регистрация: 02.02.2011
Сообщений: 114
02.12.2013, 11:03  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Именно. В просто char залезет только один символ. Один символ. Не два. Один.
В массив char залезет несколько символов. Строка.
В массив массивов (двухмерный массив) char залезет несколько строк.
Ну хорошо, подскажите мне тогда, как сделать массив(двумерный или одномерный я тут запутался немного) чар, чтоб я мог хранить там числа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.12.2013, 11:03
Помогаю со студенческими работами здесь

Перевод String->char и обратно
нужна ваша помощь)) сперва перевожу строку из текстбокса в переменную типа чар: System::String^ str=textBox2-&gt;Text; for(int...

Конвертировать String в char и обратно
Кратко опишу ситуацию: программирую в Borland Builder C++, Visual Studio 2008 поставил только сегодня и не могу разобраться, как...

Преобразование типов wchar_t в char и обратно
Добрый вечер уважаемые форумчане! Как можно перевести из wchar_t в char и обратно. Если можно с примерами. За ранее спасибо!! ...

Преобразование string в double и обратно
День добрый! подскажите что я делаю неправильно if (String^ s = stream-&gt;ReadLine()) x2 = Convert::ToDouble(s); ...

Преобразование double в String и обратно!
Здравствуйте! Возникла проблема: Есть на форме EditText - в него вывожу значение: etv.setText(String.format(&quot;%.1f&quot;,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru