我在Edit控件中放入文字,如果显式的用
m_NoteString = _T("Test line 1\r\nTest line 2\r\n");
然后调用UpdateData(false),就显示正常,但我将这段文字用UE存为纯文本(.txt)文件后,读入数据到m_NoteString.然后调用UpdateData(false),结果显示错误,不肯换行了,这是为什么。我看过读入的数据,\r\n的地方是0x0D 0x0A.使用RichEdit是否不会有这种问题?
m_NoteString = _T("Test line 1\r\nTest line 2\r\n");
然后调用UpdateData(false),就显示正常,但我将这段文字用UE存为纯文本(.txt)文件后,读入数据到m_NoteString.然后调用UpdateData(false),结果显示错误,不肯换行了,这是为什么。我看过读入的数据,\r\n的地方是0x0D 0x0A.使用RichEdit是否不会有这种问题?
解决方案 »
- 调试程序时,有一个函数,在他里面逐条语句执行时,光标指示的位置和实际执行的位置不符,为何?
- 视音频难度问题:如何让media player播放自定义的asf格式流文件
- vc下用什么函数将 一个0~15的数字 转化为16进制 字符?像vb中的 HEX一样
- MFCODBC使用者操作SQL2005数据库问题
- 请教:如何提高程序的执行效率?
- 一个简单极了而又很奇怪的问题,郁闷!有经验人士请进!
- 谁知道oicq的聊天记录存在那里了 ,怎么存的
- 关于重载Serialize的问题
- 简单。。。char [] 类型和Wchar类型怎么转换??
- 内存释放问题
- *o* 如何在工具栏使用256色,24位色图标
- 在IE中实现实时数据的发布从效率上跟用普通的客户端应用程序来发布有什么区别?
把你读文件的代码贴来看看?
if (fp){
fseek(fp,0,SEEK_END);
int len = ftell(fp);
fseek(fp,0,SEEK_SET);
BYTE *pbuf = new BYTE[len+1];
memset(pbuf,0,len+1);
fread(pbuf,1,len,fp);
m_NoteString = _T(pbuf);
fclose(fp);
UpdateData(false);
}代码。
在对话框类中定义的CString m_NoteString;
m_NoteString = _T(pbuf);换为
m_NoteString = _T("test line1\r\ntest line 2\r\n");
就没有问题。
但是我需要从文件中读入啊!
if (fp){
fseek(fp,0,SEEK_END);
int len = ftell(fp);
fseek(fp,0,SEEK_SET);
BYTE *pbuf = new BYTE[len+1];
memset(pbuf,0,len+1);
fread(pbuf,1,len,fp);
m_NoteString = _T(pbuf);
fclose(fp);
UpdateData(false);
}
现在改用rb方式打开后就没有问题了!
谢谢各位的帮助。
谢谢oldworm(oldworm) and everandforever(Forever) !结贴。
如果你的文件是这样写的:
FILE *fp1=fopen("Notes.TXT","w");
fprintf(fp,"%s\r\n%s\r\n","aaaa","sdsadasd");
fclose(fp1);
你那最初的程序可以正确显示!