如何将包含换行符("\n")的字符串写入文件,以便每个字符串都在文件的新行中?
我有一个累加器函数,迭代一些数据并逐步构造数据的每个元素的字符串(包含信息).我不想每一步写入文件,所以我在每一步都附加字符串.我这样做,所以我可以一次写字符串并限制IO的数量.
在字符串中添加换行符str ++ "\n"
不起作用,hPrint h str
只会打印"\n"
而不是从新行开始.
我已经尝试累积一个字符串列表,而不是一个大字符串,并迭代列表并通过打印每个字符串hPrint
.这适用于换行符,但它也会在每行上的每个字符串周围打印引号.
不要用于hPrint
将字符串写入文件.就像常规print
它输出结果一样show
,它产生一个调试友好版本的字符串,控制字符和行结尾转义(和周围的引号).
使用hPutStr
或hPutStrLn
代替.他们会按原样将字符串写入文件(嗯,后者在末尾添加换行符).