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

Как string перевести в char?   Найти похожие ветки 

← →
alexis   (2003-11-12 14:43) [0]

Уважаемые мастера! Мне крайне необходимо узнать можно ли перевести string тип в Char тип.
Задача в упрощенном варианте такова:есть строковая переменная str1,есть символьная переменная ch1.Мне надо получить в ch1 первую букву строки str1.Пытался решить таким образом:
ch1:=copy(str1,1,1);

Не работает по причине несовместимости типов :(
Буду признателен, если подскажете способ решения проблемы.


← →
Zacho ©   (2003-11-12 14:45) [1]

ch1:=str1[1];


← →
pasha_golub ©   (2003-11-12 14:51) [2]

Удалено модератором
Примечание: Offtopic


← →
VAleksey ©   (2003-11-12 15:42) [3]

Удалено модератором
Примечание: Offtopic


← →
tipman ©   (2003-11-12 16:03) [4]

У меня ранее тоже возникал такой вопрос и решил я его так же как показал Zacho , но .....
можно ли закинуть сразу всю строку типа String в массив Char?


← →
Jel ©   (2003-11-12 16:24) [5]


> можно ли закинуть сразу всю строку типа String в массив
> Char?


А строка и есть массив Char.


← →
tipman ©   (2003-11-12 16:39) [6]

var a:String;
b:Array [1..100] of Char;
.....
.....
.....
.....
a := "";
b := "qwertyuiop[]lkjhgfdsazxcvbnm";
a := b;

Получается ошибка?


← →
panov ©   (2003-11-12 16:56) [7]

var
s: String;
b:Array [1..100] of Char
begin
...

Move(s[1],b[0],Length(s));


← →
VMcL ©   (2003-11-12 17:05) [8]

>panov © (12.11.03 16:56) [7]

Move(s[1],b[ 1],Length(s));

или

Move(s[1],b[Low(b)],Length(s));

:)


← →
panov ©   (2003-11-12 17:07) [9]

Точно... Массив-то с единицы определен-)


← →
kull ©   (2003-11-12 17:12) [10]


> panov © (12.11.03 16:56) [7]

Эх...

Move(s[1],b[Low(b)],Min(Length(s),High(b)+1));


← →
Pattern ©   (2003-11-12 17:18) [11]

ch1 := PChar(str1);


← →
panov ©   (2003-11-12 17:26) [12]

КТо больше?


← →
Alexis ©   (2003-11-15 00:25) [13]

Спасибо, Zacho, помогло.Как раз то,что нужно.А строку в массив символов перевести можно так:

var
dlina,i:integer;
stroka:string;
mas_symb:array [1..100] of char;
...
dlina:=length(stroka);
for i:=1 to dlina do mas_symb[i]:=stroka[i];

По-моему наиболее разумное решение.


← →
Zacho ©   (2003-11-15 00:31) [14]


> Alexis © (15.11.03 00:25) [13]

Не, move быстрее и писать меньше :)


← →
Johnmen ©   (2003-11-15 00:50) [15]

>Alexis © (15.11.03 00:25)

А вдруг длина строки более 100 ? :)))))))))))))))

Не спеши делиться своими "познаниями". Лучше освой основы пр-ия...


← →
Palladin ©   (2003-11-15 06:55) [16]


> Alexis © (15.11.03 00:25) [13]

О да... заниматся копированием массивов туда сюда, это очень ответственная задача. Особенно для программиста, которому делать больше нечего. И особенно через for.

Ответь мне на вопрос, что же тебе мешает изначально обращатся к строке как к массиву символов?


← →
Anatoly Podgoretsky ©   (2003-11-15 11:59) [17]

Alexis © (15.11.03 00:25) [13]
Очень не разумное, ни по надежности ни по эффективности. Если второе не важно, то с первым придешь к нам с вопросом - у меня AV, а в программе все правильно.


← →
Romkin ©   (2003-11-15 13:01) [18]

2Anatoly Podgoretsky По всей видимости, в некоторых компаниях любят примерно такой код, вот и получаются уязвимости с переполнением буфера :)
2Alexis строки в Object Pascale очень хорошо сделаны, массивами символов можно и не пользоваться, заодно и вылетов за границы не будет. А твой код в [13] может привести к чему угодно.


← →
Anatoly Podgoretsky ©   (2003-11-15 13:06) [19]

Судя по количеству сообщений, так кроме отроков никто не работает.


← →
Anatoly Podgoretsky ©   (2003-11-15 13:07) [20]

На форуме часто стречал следующее, почему не анализируем ошибки - ответ у меня ошибок не будет :-)


← →
LastLamer ©   (2003-11-16 03:02) [21]

StrPCopy?



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

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



Память: 0.49 MB
Время: 0.018 c
6-90032
Wiz@rd
2003-09-30 11:02
2003.11.27
UDP & сервер


11-89798
Bartov
2003-03-19 10:52
2003.11.27
Как в KOL организовать AllocateHWnd и DeallocateHWnd?


1-89877
Quit
2003-11-15 18:18
2003.11.27
Строку наоборот


14-90097
Шурик Ш
2003-11-04 10:05
2003.11.27
Уважаемые профессионалы, используете ли вы в своих разработках...


3-89746
krimson
2003-11-07 19:19
2003.11.27
как обойтись без SQL сервера?




   Наверх