将一个文本文档(txt)读入edit box,为何edit box不能识别txt中的换行?该如何解决
将一个文本文档(txt)读入edit box,为何edit box不能识别txt中的换行?
txt文档中的换行到edit box 中不会被识别,而是继续在同一行显示下去,直到写不下才换行,这样的话和txt的显示就有差异。
已经将edit box的properties设置为Multiline 和 Vertical scroll;
以下是相关部分的代码:
------解决方案--------------------
那你就用CStdioFile一行的读,然后自己加上_T("\r\n"),累加得到所有的内容;最后一次性写入EDIT中
------解决方案--------------------
判断一下, 把换行符改成"\r\n" 即可, 如下
txt文档中的换行到edit box 中不会被识别,而是继续在同一行显示下去,直到写不下才换行,这样的话和txt的显示就有差异。
已经将edit box的properties设置为Multiline 和 Vertical scroll;
以下是相关部分的代码:
- C/C++ code
void CLexicalDlg::open() { // TODO: Add your control notification handler code here char ch[1000]; int i=0,j=0; ifstream infile; CFileDialog * filedialog; CEdit * edt=(CEdit *)GetDlgItem(IDC_EDIT1); filedialog = new CFileDialog(true,"bak"); CString str; if (filedialog->DoModal()==IDOK ){ //显示打开对话框 str = filedialog->GetFileName(); //读取用户选择的文件 infile.open (str); if (!infile){ MessageBox("文件打开错误","错误"); } } while(infile.get(ch[i])) i++; for(j=i;j<1000;j++) ch[j]=NULL; str=ch; edt->SetWindowText(str); }
------解决方案--------------------
那你就用CStdioFile一行的读,然后自己加上_T("\r\n"),累加得到所有的内容;最后一次性写入EDIT中
------解决方案--------------------
判断一下, 把换行符改成"\r\n" 即可, 如下
- C/C++ code
void CLexicalDlg::open() { // TODO: Add your control notification handler code here char ch[1000]; int i=0,j=0; ifstream infile; CFileDialog * filedialog; CEdit * edt=(CEdit *)GetDlgItem(IDC_EDIT1); filedialog = new CFileDialog(true,"bak"); CString str; if (filedialog->DoModal()==IDOK ){ //显示打开对话框 str = filedialog->GetFileName(); //读取用户选择的文件 infile.open (str); if (!infile){ MessageBox("文件打开错误","错误"); } } while(infile.get(ch[i])) { if(ch[i]=='\n') { ch[i]='\r'; ch[++i]='\n'; i++; continue; } i++; } for(j=i;j<1000;j++) ch[j]=NULL; str=ch; edt->SetWindowText(str); }