用WriteFile 将字符串写入文本文件,为什么无法显示转义字符?
如wsprintf (szBuf, "a\nb\nc\n");
WriteFile (hFile, szBuf, lstrlen (szBuf), & dwReaded, NULL);
则文件显示为
a|b|c而用fprintf (fp, "a\rb\nc\n");写入文件的转义字符就可以正确显示
a
b
c
为什么?

解决方案 »

  1.   

    这么说用WriteFile就无法显示转义字符了? 不会吧?
      

  2.   

    printf
    用的字体可能也有关系
      

  3.   

    你直接用ASCII码不就行了!肯定没有问题,因为我用过
      

  4.   

    怎么用ASCII码?是用'\10'吗?我试了没有用!
      

  5.   

    不过用'\r\n'是有用的,可是为什么?
    为什么用'\n\r'就没用了?
      

  6.   

    在文本文件中,"\n"是一个可显示的字符。
    而"\r\n"是一个格式控制符,即软回车。
    还有"\r\r\n"也是格式控制符。即硬回车。
      

  7.   

    已经试过了,可以的!谢谢各位了!有个问题问了半天也没人来答,我只有放在这一版上问问看,请高手帮忙看看!
    -------------------------------------------------------------------
    怎么象Visual Studio一样,在关闭的时候把它打开的帮助文档也关闭?:在用VC的时候,按F1会出现MSDN,这时候如果把VC关闭了,MSDN也会和它一起关了。
    要调用一个文档容易,用
    ShellExecute(hwnd, "open","help.chm",NULL,NULL,SW_SHOWNORMAL), 就可以了,可是怎么关闭它呢?
      

  8.   

    退出的时候, 顺便把你打开的东西也关闭就可以了.在OnClose的时候send WM_QUIT给它就行了阿.
      

  9.   

    问题不在于WriteFile, 而在于
    wsprintf (szBuf, "a\nb\nc\n");
    这是UNICODE版本的,而"a\nb\nc\n"却不是UNICODE的字符串,你应该改为
    L"a\nb\nc\n"
      

  10.   

    TO Hanzo(不肯冷却的芯):
    关键是我用的ShellExecute打开的,这时候并没有得到被打开的文件的句柄啊???
      

  11.   

    TO Earthdog(Earthdog):
    好象不是这个问题,我用_stprintf (szBuf, "a\nb\nc\n");还是不行啊?