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

Помогите перевести с делфи на си   Найти похожие ветки 

← →
Steep ©   (2007-05-10 11:21) [0]

function x(s:string; int a; int len);
begin
Result:=copy(s,a,len);
end;


← →
DVM ©   (2007-05-10 11:23) [1]

в C нет прямо такого же типа string чем заменять?


← →
DVM ©   (2007-05-10 11:24) [2]

к тому же эта функция вообще не на делфи, а на какой то помеси делфи и c


← →
Steep ©   (2007-05-10 11:29) [3]

ну это я пытался переводить :)

ну строка как массив символов  тогда...

Вобщем надоиз строки s (массив типа char) копировать в строку s1 подстроку из s с 1 по 5 символ например?


← →
DVM ©   (2007-05-10 11:30) [4]


> Steep ©   (10.05.07 11:29) [3]

ну так ты же все уже сам рассказал :)


← →
Steep ©   (2007-05-10 11:36) [5]

тык я синтаксиса не знаю.....


← →
X9 ©   (2007-05-10 11:43) [6]

char * x(char *s, int a, in len)
{
   char * s_;
   return strncpy(s_, s+a, len);
}

Не помню порядок параметров функции strncpy, возможно, есть ошибка.
Локальная переменная нужна для помещения результата, т.к. один из параметров ф-ция strcpy требует этого. М.б. можно поставить вместо этого параметра NULL, но я не пробовали.

P.S. Си учу только на лабораторных работах :)


← →
Ricko ©   (2007-05-10 11:44) [7]

Мой вариант:
char *strseq(char *src, int a, int count)
{
   char *ret;

   ret = malloc(count);
   if (!ret) {
       return NULL;
   }
   
   return strncpy(ret, (src+a), count);
}


← →
Steep ©   (2007-05-10 11:47) [8]

Спасибо вам большое!


← →
DVM ©   (2007-05-10 11:52) [9]

только все это эквиваленты скорее следующего

function strseq(src: pchar;  a: integer;  count: integer): pchar;
var
 Ret: PChar;
begin
 GetMem(ret, count);
 result := StrLCopy(ret, src + a, count);
end;


← →
X9 ©   (2007-05-10 11:53) [10]

> [9] DVM ©   (10.05.07 11:52)

Ну нет в Си строк, нет...


← →
{RASkov} ©   (2007-05-10 12:01) [11]

> [10] X9 ©   (10.05.07 11:53)
> Ну нет в Си строк, нет...

Бедные.... как они там без них.... :)


← →
Карелин Артем ©   (2007-05-10 12:04) [12]


> {RASkov} ©   (10.05.07 12:01) [11]

Массив char иногда вместо них используют.


← →
sniknik ©   (2007-05-10 12:08) [13]

> Бедные.... как они там без них.... :)
есть класс, практически аналог, bsrt вроде бы называется... (есть и другие но там отличий больше, насколько помню)


← →
X9 ©   (2007-05-10 12:30) [14]

> [13] sniknik ©   (10.05.07 12:08)

Я имел в виду чистый C.


← →
Belorus ©   (2007-05-10 16:34) [15]

>
> Массив char иногда вместо них используют.


Серьёзно ?


← →
Anatoly Podgoretsky ©   (2007-05-10 18:58) [16]

> Belorus  (10.05.2007 16:34:15)  [15]

А что еще им остается делать



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

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



Память: 0.48 MB
Время: 0.035 c
2-1179225218
Lakshmy
2007-05-15 14:33
2007.06.03
Показ (0,0) угла TreeView


3-1173862302
DSKalugin
2007-03-14 11:51
2007.06.03
как в Delphi использовать VBA-функцию Access?


2-1178911016
programmist87
2007-05-11 23:16
2007.06.03
Завершение приложения после исключительной ситуации


4-1167257905
Shadow[AN]
2006-12-28 01:18
2007.06.03
Получение имени и размера шрифтов из текушей темы Windows


15-1178542088
iXT
2007-05-07 16:48
2007.06.03
мой WinXP заболел :( ???




   Наверх