2017-03-23 1 views
-1

Je veux ajouter ~ (tilde) dans la chaîne et écrire cette chaîne dans un fichier.Ajouter ~ (tilde) dans une chaîne Erlang

Par exemple.

String = "~Hi~Welcome ~Presenting ~My~Problem~To~you Public ~L.", 
ile:write_file(WriteFileName, io_lib:fwrite(String,[])). 

erreur reçu

** Reason for termination == 
** {badarg,[{io_lib,format, 
        ["~Hi~Welcome ~Presenting ~My~Problem~To~you Public ~L.", 
        []], 
        [{file,"io_lib.erl"},{line,168}]},.....]} 

Toute aide appréciée! Merci :)

Répondre

1

Utilisez deux d'entre eux:

1> io:format("~~~s~~~s~~~n", ["Hello", "World"]). 
~Hello~World~ 
ok 

De la documentation io:fwrite/1:

séquences de contrôle disponibles:

~

caractère ~ est écrit.

+0

Merci, @Roger !! c'est un peu fastidieux d'ajouter de la ficelle de cette façon, toujours digne. –

2

Vous n'avez pas besoin de l'appel io_lib:fwrite là; vous pouvez simplement passer la chaîne à file:write_file directement:

String = "~Hi~Welcome ~Presenting ~My~Problem~To~you Public ~L.", 
file:write_file(WriteFileName, String). 
+0

Merci, @legoscia, comment puis-je ajouter ~ n (ligne suivante) dans la chaîne ?? si possible –

+0

Vous pouvez mettre '\ n' dans la chaîne:' "première ligne \ nsecond line" ' – legoscia

+0

Merci, @legoscia !! excellente solution, +1 !! :) vaut la peine d'être accepté !! –