Вниз
Скачать: CL | DM;

array of char to string and back   Найти похожие ветки 

← →
Scott Storch   (2011-07-05 11:18) [0]

строку нужно преобразовать в массив символов и обратно. сделал так:

procedure TForm1.Button1Click(Sender: TObject);
var
 A: array [0..65535] of Char;
 S1, S2: string;
begin
 S1 := "qwerty";

 StrPCopy(A, S1); // string to array of char

 S2 := string(A); // array of char to string

 ShowMessage(S2);
end;


возникло пару вопросов:

- будет ли правильным использовать функцию StrPCopy
- встречал примеры в которых напрямую array of char присваивается строке, S2 := A;. Правильно ли это или обязательно нужно указывать тип: S2 := string(A);?


← →
Anatoly Podgoretsky ©   (2011-07-05 11:21) [1]

> Scott Storch  (05.07.2011 11:18:00)  [0]

Строка уже и так массив символов


← →
Медвежонок Пятачок ©   (2011-07-05 11:25) [2]

встречал примеры в которых напрямую array of char присваивается строке, S2 := A;. Правильно ли это или обязательно нужно указывать тип: S2 := string(A);?

если тот массив не просто массив с символами строки, но еще и с завершающим нулем, то прокатит.


← →
Scott Storch   (2011-07-05 11:30) [3]

это понятно, просто у меня есть структура с полем типа array of [0..MAXWORD] of Char в которое нужно записывать текстовое значение поля таблицы бд типа TEXT, вот и спрашиваю, как правильно сделать преобразование.


← →
Медвежонок Пятачок ©   (2011-07-05 11:37) [4]

По вкусу:

StrPCopy
StrLCopy
StrCopy
Move

Если знаешь что такое строка, то все равно чем копировать.


← →
han_malign   (2011-07-06 14:08) [5]


> если тот массив не просто массив с символами строки, но
> еще и с завершающим нулем, то прокатит.

- по барабану - для массива(в отличие от безразмерного PChar) - магия компилятора учитывает размер массива...


← →
Медвежонок Пятачок ©   (2011-07-06 16:35) [6]

имелось ввиду не это.
массив допустим велик.
делаем в него strpcopy или нечто подобное.
завершающий #0 туда при этом попадает.
но если затем с этим массивом поработать как с массивом, то нуль может затереться чем-то еще и у строки получится "хвост".



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.003 c
15-1309267370
pavel_guzhanov
2011-06-28 17:22
2011.10.23
Размещу и я вакансию


2-1309616112
Gu
2011-07-02 18:15
2011.10.23
Версии exe и dll


6-1244462643
Zheksonz
2009-06-08 16:04
2011.10.23
проверка на наличие компьютера в сети


15-1309120193
Юрий
2011-06-27 00:29
2011.10.23
С днем рождения ! 27 июня 2011 понедельник


2-1309771257
adigozelov
2011-07-04 13:20
2011.10.23
pecat




   Наверх