之前一直使用的是多字节方式编程,最新的项目要和c#混用,索性改成unicode编程。
在进行文本输出时 发现换行在mbs与unicode下是不一样的。
第一 mbs下 文本换行只需要"\n"就可以了,unicode则需要L"\r\n"
第二 unicode下 fopen 使用 "w+"模式 fwrite 如果含有 L'\n'(0x000a) 则会被修改成0x0d0a。从而出现乱码,即L"\r\n"变成0x000d 0x0d0a。
第三 unicode下 需要在文本起始位置输入BOM=0xFEFF 用来标识是 unicode文本。