dt_Handle reaction;
 
dt_String csmi, asmi;
 
dt_Integer clen, alen;

 
/* Read SMILES in. */
 
reaction = dt_smilin(13, "O>>[OH-].[H+]");

 
/* Write canonical form. */
 
csmi = dt_cansmiles(&clen, reaction, 0);
 
/* Write abitrary form. */
 
asmi = dt_arbsmiles(&alen, reaction, 0);

 
printf("Canonical form is %.*s and arbitrary form is %.*s.\n",
     
clen, csmi, alen, asmi);

Canonical form is O>>[H+].[OH-] and arbitrary form is O>>[OH-].[H+].