Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/41: Рейтинг темы: голосов - 41, средняя оценка - 4.80
 Аватар для MrAndrey_ka
79 / 79 / 20
Регистрация: 13.05.2009
Сообщений: 537
Записей в блоге: 1

Из char* в String

25.12.2009, 17:04. Показов 7820. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто знает способ как из char* сделать String???

есть некая функция
char *MoneyToStr(int m);
она создает строку (выделяет под нее память)и возврашает на нее указатель
Решение 1
C++
1
2
String s=MoneyToStr(20);
.......
при таком решении происходит утечка памяти

Решение 2
C++
1
2
3
4
char *r=MoneyToStr(20);
String s=r;
delete[] r;
..........
а при таком громоздкий код+лишняя переменная+время выполнения(за счет лишнего копирования строки)!!!!!!!!

у кого еще какие варианты?


P.S.: и еще вопросик- как в С++ Builder 2009 сделать чтобы String был равен AnsiString, а не UnicodeString???
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.12.2009, 17:04
Ответы с готовыми решениями:

String в char
#include <cstring> int n, flag; FILE *f; char s="PC.dat"; struct PC{ int Num; char tip; int taktch; int OZU; int...

Конвертация String и char
Всем добро!:senor: Проблема с конвертацией String и char, а именно вот таким способом я получаю индекс диска например диск "F"...

String to unsigned char[]
Всем привет. Что-то никак не могу придумать как преобразовать значения из Edit'ов в массив unsigned char. Задача такая - есть 8 Edit'ов и...

5
12 / 12 / 4
Регистрация: 14.12.2009
Сообщений: 33
25.12.2009, 19:41
попробуй так
C++
1
2
String s;
s.printf(MoneyToStr(20);
или так
C++
1
String s(MoneyToStr(20));
на второй вопрос попробуй так
C++
1
typedef AnsiString String;
Добавлено через 19 минут
или так на второй вопрос
C++
1
#define String AnsiString
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
26.12.2009, 14:54
Цитата Сообщение от MrAndrey_ka Посмотреть сообщение
еще вопросик- как в С++ Builder 2009 сделать чтобы String был равен AnsiString, а не UnicodeString???
По идеи в свойствах проекта должен быть пункт включения/выключения Unicode режима.


Цитата Сообщение от MrAndrey_ka Посмотреть сообщение
+время выполнения(за счет лишнего копирования строки)!!!!!!!!
В любом случае будет происходить копирование строки - без этого не обойтись. Но я бы, просто сделал функцию MoneyToStr, которая бы возвращала String, а не char*, и тогда не надо было бы задумывать об утечки памяти
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
26.12.2009, 16:04
Цитата Сообщение от MrAndrey_ka Посмотреть сообщение
она создает строку (выделяет под нее память)и возврашает на нее указатель
При таком подходе возможны только громоздкие решения, где в месте вызова твоей функции придётся освобождать память
0
 Аватар для MrAndrey_ka
79 / 79 / 20
Регистрация: 13.05.2009
Сообщений: 537
Записей в блоге: 1
27.12.2009, 17:28  [ТС]
По идеи в свойствах проекта должен быть пункт включения/выключения Unicode режима.
Да по идеи должен быть, но в реале его нет!!! (я уже все натройки проэкта раз 5 пересмотрел), может кото знает где именно?
на второй вопрос попробуй так
C++
1
typedef AnsiString String;
или так на второй вопрос
C++
1
#define String AnsiString
так не катит, в первом случае говорит что ллас уже обьявлен в модуле system
а во втором что не может инициализировать член класса здесь

дело в том что класс String описан вот так:
C++
1
2
3
4
5
#if defined(_DELPHI_STRING_UNICODE)
    typedef UnicodeString        String;           //
#else
    typedef AnsiString           String;           //
#endif
0
 Аватар для davian
4 / 4 / 2
Регистрация: 07.07.2009
Сообщений: 122
25.06.2012, 14:46
Самое элементарное решение:
C++
1
2
char *charVar = new char[255];
String str = String(charVar);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.06.2012, 14:46
Помогаю со студенческими работами здесь

Преобразовать String в char*
Добрый день! Подскажите пожалуйста, как можно преобразовать тип char? А именно: Есть строка кода char* X="Текст в виде пути на...

Перевести string to char
Вот есть некая переменная char a; в нее нужно забить то что я ввел, например в Edit1. Как єто сделать??

Char* to string и IntToHex
Всем доброго дня! Столкнулся с интересной проблемой. есть char* надо преобразовать в string и вывести hex кодами делаю это так ...

'C': String (HEX)->CHAR[]
Запутался в 2х соснах))) Ввожу с клавиатуры строку через gets(), строка представляет собой 6 байтовый HEX, ввожу 12 символов. 1 hex =...

Перевод String В Char
Необходимо перевести считаную строку с Edit1 в массив типа char для дальнейший обработки данной строки. Если есть другие способы данного...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru