Bonjour,

Je cherche à reproduire la fonction strdup() du C. Ce code est-il correct ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
program snippet;
 
 procedure main;
 var
  sdup : ^string;
  s : string;
 begin
  s := "Hello word";
  new (sdup, 1 + length(s));
  sdup^ := s;
 
  writeln (s);
  writeln (sdup^);
  dispose (sdup);
 
 end;
 
begin
 main;
 readln;
end.
Merci :

P.S. new/dispose sont-ils mieux que getmem()/freemem() ?