![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
array of char to string and back
Scott Storch © (2011-07-05 11:18:00)строку нужно преобразовать в массив символов и обратно. сделал так:
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);?
Медвежонок Пятачок (2011-07-06 16:35:00) [1]имелось ввиду не это.
массив допустим велик.
делаем в него strpcopy или нечто подобное.
завершающий #0 туда при этом попадает.
но если затем с этим массивом поработать как с массивом, то нуль может затереться чем-то еще и у строки получится "хвост".
han_malign (2011-07-06 14:08:00) [2]
> если тот массив не просто массив с символами строки, но
> еще и с завершающим нулем, то прокатит.
- по барабану - для массива(в отличие от безразмерного PChar) - магия компилятора учитывает размер массива...
Медвежонок Пятачок (2011-07-05 11:37:00) [3]По вкусу:
StrPCopy
StrLCopy
StrCopy
Move
Если знаешь что такое строка, то все равно чем копировать.
Scott Storch (2011-07-05 11:30:00) [4]это понятно, просто у меня есть структура с полем типа array of [0..MAXWORD] of Char в которое нужно записывать текстовое значение поля таблицы бд типа TEXT, вот и спрашиваю, как правильно сделать преобразование.
Медвежонок Пятачок (2011-07-05 11:25:00) [5]встречал примеры в которых напрямую array of char присваивается строке, S2 := A;. Правильно ли это или обязательно нужно указывать тип: S2 := string(A);?
если тот массив не просто массив с символами строки, но еще и с завершающим нулем, то прокатит.
Anatoly Podgoretsky (2011-07-05 11:21:00) [6]> Scott Storch (05.07.2011 11:18:00) [0]
Строка уже и так массив символов