关于win32程序\n问题
来源:互联网 发布:网络摄像头ip扫描软件 编辑:程序博客网 时间:2024/06/04 14:54
描述:
在向文件中写数据的时候,在字符串的末尾加了一个\r\n,原本的意思是对应回车换行,可惜将文件用二进制打开一看发现\r\n
对应这0x0d 0x0d 0x0a,为什么会变成三个字节呢,不得其解,难道win32下面\n就是指回车换行?
解决:
如下字符串:
infoFileComment ="[ComtradeEvent]\n;事件通道,0-电压,1-电流\n";
如下写文件:
infoFile.write(infoFileComment.c_str(),infoFileComment.size());
在程序中调试,会发现字符串infoFileComment中\n对应的就是0x0a,为何写到文件中就会变成0x0d 0x0a呢?
原来,文件的打开方式使用文本方式打开的:
0A(\n)在ASCII中为换行符,而windows下的换行符用0D0A(\r\n)表示,而我们的文件在打开时指定的打开
方式fopen("out.dat","w")是以文本方式打开,所以在输出0×0A时自动被windows替换成0×0D 0×0A了,以
二进制模式打开文件fopen("out.dat","wb"),\n就会对应0x0a。
在向文件中写数据的时候,在字符串的末尾加了一个\r\n,原本的意思是对应回车换行,可惜将文件用二进制打开一看发现\r\n
对应这0x0d 0x0d 0x0a,为什么会变成三个字节呢,不得其解,难道win32下面\n就是指回车换行?
解决:
如下字符串:
infoFileComment ="[ComtradeEvent]\n;事件通道,0-电压,1-电流\n";
如下写文件:
infoFile.write(infoFileComment.c_str(),infoFileComment.size());
在程序中调试,会发现字符串infoFileComment中\n对应的就是0x0a,为何写到文件中就会变成0x0d 0x0a呢?
原来,文件的打开方式使用文本方式打开的:
0A(\n)在ASCII中为换行符,而windows下的换行符用0D0A(\r\n)表示,而我们的文件在打开时指定的打开
方式fopen("out.dat","w")是以文本方式打开,所以在输出0×0A时自动被windows替换成0×0D 0×0A了,以
二进制模式打开文件fopen("out.dat","wb"),\n就会对应0x0a。
- 关于win32程序\n问题
- Win32程序关于对话框
- 关于win32程序如何使用mfcdll的问题.
- 关于Win32程序的基本原理
- 关于编写win32服务程序,
- 关于,VS2010 里面 一个解决方案包含多个win32程序,调试的问题~~~happy
- 关于N皇后问题
- 关于N皇后问题
- 关于Console程序和win32程序的程序入口
- 第一次VS2005运行Win32程序 的问题
- win32 release版本程序死机问题查找
- vc 调用win32程序 参数传入问题
- win32程序浮点数据精度问题
- win32程序转x64的一些问题
- 关于java的n=n++问题
- N皇后问题 java程序
- 关于setprecision(n)的问题
- 【2001】关于N!的问题
- 如何使用spy ++ (How to use Spy ++)
- losetup :设定与控制loop devices
- Linux中编译apache服务器modules文件夹缺少模块(.so)的问题
- Convert.ToString()和ToString()的区别
- Relationship of the this pointer and (non-)const member function
- 关于win32程序\n问题
- 怎样获取MPEG2/TS流的PTS值
- 没有数据,添加,有数据,修改
- REST
- Android模拟器中使用SD卡
- JTable窗体形式选择日期
- 张桂平出席
- 【实验十三】文件系统的移植
- 第一次在csdn上课的感受