hur.cn - 华软网

 热门搜索

还是读取TXT文件的内容 显示在编辑框中。。。

  作者:未知    来源:网络    更新时间:2010/6/7
假如我要读取的TXT文件内容如下:
123
245435
5343
53435
...
..


如何把他显示在编辑框中呢?我希望他在编辑框中显示的效果也是
123
245435
5343
53435
...
..

我知道用ReadString。。。。可是用ReadString它是一行一行的显示,而且是运行一次就显示一行。。。那么如果很多行的话不是要运行很多次ReadString???本人菜鸟一个。。求解答。。。。最好给个例子。。。谢谢大家了。。。
---华软 网友回答---
CFile cfile;
if( cfile.Open( "test.dat", CFile::modeRead, NULL ) )
{
char pbuf[100];//这里设置足够大就行了
UINT nBytesRead = cfile.Read( pbuf, 100 );
SetDlgItemText(IDC_EDIT1,pbuf);
}
---华软网友回复---
cfile.Close();
---华软网友回复---
用组合框
---华软网友回复---
读取数据到 CString 或 char* 中,然后用 CString 或 char* 处理,
这样就不用重复读取 txt 了
---华软网友回复---
引用 4 楼 klkvc386 的回复:
读取数据到 CString 或 char* 中,然后用 CString 或 char* 处理,
这样就不用重复读取 txt 了


例如呢??
---华软网友回复---
你先一次性全读出来不行吗:
CStdioFile m_readfile;  
CString m_strTemp;
m_readfile.Open( "1.txt ",CFile::modeRead);  
m_strTemp.Empty();
m_strText.Empty();
while(m_readfile.ReadString(m_strTemp))
{  
m_strText+=m_strTemp+ "\n ";  
}
SetDlgItemText(IDC_EDIT1,m_strText);
m_readfile.Close();
---华软网友回复---
C++">
try
{
  CFile file;
  file.Open(_T("F:\\11.txt"), CFile::modeRead);
  DWORD dwLen = (DWORD)file.GetLength();
  char* buf = new char[dwLen+1];
  memset(buf, 0, dwLen+1);
  file.Read(buf, dwLen);
  file.Close();
  CString strText(buf);
  SetDlgItemText(IDC_EDIT1, strText);
  delete[] buf;
}
catch(CFileException* e)
{
 e->ReportError();
 e->Delete();
}

---华软网友回复---
先一次性全读出来 放在一个数组里面  然后再分别赋给控件就可以了
---华软网友回复---
引用 6 楼 wltg2001 的回复:
你先一次性全读出来不行吗:
CStdioFile m_readfile;  
CString m_strTemp;
m_readfile.Open( "1.txt ",CFile::modeRead);  
m_strTemp.Empty();
m_strText.Empty();
while(m_readfile.ReadString(m_strTemp))
{  
m_strT……

up
---华软网友回复---
引用 6 楼 wltg2001 的回复:
你先一次性全读出来不行吗:
CStdioFile m_readfile;  
CString m_strTemp;
m_readfile.Open( "1.txt ",CFile::modeRead);  
m_strTemp.Empty();
m_strText.Empty();
while(m_readfile.ReadString(m_strTemp))
{  
m_strT……


m_strText+=m_strTemp+ "\n "; 有这个。。。可是为什么它还是不会自动换行?我明明加了"\n"了。。。


---华软网友回复---
引用 7 楼 visualeleven 的回复:
C/C++ code

try
{
  CFile file;
  file.Open(_T("F:\\11.txt"), CFile::modeRead);
  DWORD dwLen = (DWORD)file.GetLength();
  char* buf = new char[dwLen+1];
  memset(buf, 0, dwLen+1);
  file.Rea……



编译的时候可以通过。。。可是运行程序的时候会报错。。。。
---华软网友回复---
引用 11 楼 hao527 的回复:
引用 7 楼 visualeleven 的回复:
C/C++ code

try
{
CFile file;
file.Open(_T("F:\\11.txt"), CFile::modeRead);
DWORD dwLen = (DWORD)file.GetLength();
char* buf = new char[dwLen+1];
memset(buf, 0, dwLen……

测试了一下,没有问题啊。。。
---华软网友回复---
还没释放资源……
---华软网友回复---
引用 12 楼 visualeleven 的回复:
引用 11 楼 hao527 的回复:
引用 7 楼 visualeleven 的回复:
C/C++ code

try
{
CFile file;
file.Open(_T("F:\\11.txt"), CFile::modeRead);
DWORD dwLen = (DWORD)file.GetLength();
char* buf = new char[dwLen+1];
……



刚重新建了个工程弄又可以了。。。不过。。。还是不会自动换行啊。。。。
---华软网友回复---
"\r\n"
---华软网友回复---
在哪里添加\r\n呢      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。