最近写一小程序,就是用CEdit类的编辑框读写文件,现在手头有一些数据文件,要再通过编辑框读写文件,出的问题是,如果是自己create的文件就能够读,也能够写,但如果是原来留下来的文件,不能读,也不能写,这两种文件都是txt的,忙了一天了,就是不知道问题出在哪?忘了说了,读留下来的文件出现的只是异常错误,而不是报的错,我初学vc,请多多指教。下面是我做的程序:
/////////////////////////////////////////////////////////////////////
CString pszFileName = "d:\\数据文件\\三点求圆.txt";
////////////////////////////////////////////////////
//////////上面三点求圆.txt是新建的能够运行,如果换成原来的就不行////////
CStdioFile myFile;
// CFileException fileException;
myFile.Open(pszFileName,CFile::modeCreate|CFile::modeReadWrite);
myFile.SeekToBegin();///移到文件头
char szHello[] = "Hello,\r\n world!"; myFile.Write( szHello,sizeof(szHello)); char buffer[10];
myFile.Read(buffer,10); myFile.Close();
m_editResult.SetActiveWindow();
m_editResult.SetWindowText(buffer);
////////////////////////////////////////
请各位帮忙看看有什么问题,谢了
/////////////////////////////////////////////////////////////////////
CString pszFileName = "d:\\数据文件\\三点求圆.txt";
////////////////////////////////////////////////////
//////////上面三点求圆.txt是新建的能够运行,如果换成原来的就不行////////
CStdioFile myFile;
// CFileException fileException;
myFile.Open(pszFileName,CFile::modeCreate|CFile::modeReadWrite);
myFile.SeekToBegin();///移到文件头
char szHello[] = "Hello,\r\n world!"; myFile.Write( szHello,sizeof(szHello)); char buffer[10];
myFile.Read(buffer,10); myFile.Close();
m_editResult.SetActiveWindow();
m_editResult.SetWindowText(buffer);
////////////////////////////////////////
请各位帮忙看看有什么问题,谢了
////////////////////////////////////////////////////
//////////上面三点求圆.txt是新建的能够运行,如果换成原来的就不行////////
CStdioFile myFile;
//CFileException fileException;
//myFile.Open(pszFileName,CFile::modeCreate|CFile::modeReadWrite);
myFile.Open(pszFileName,CFile::modeReadWrite);
myFile.SeekToBegin();///移到文件头
char szHello[] = "Hello,\r\n world!"; myFile.Write( szHello,sizeof(szHello)); char buffer[100];
memset( buffer, 0, 100 );
myFile.Read(buffer,100); AfxMessageBox( buffer );
myFile.Close();
/////////////////////////////////////////////////////////////////////
CString pszFileName = "d:\\ss.txt";
////////////////////////////////////////////////////
//////////上面三点求圆.txt是新建的能够运行,如果换成原来的就不行////////
CStdioFile myFile;
//CFileException fileException;
//myFile.Open(pszFileName,CFile::modeCreate|CFile::modeReadWrite);
myFile.Open(pszFileName,CFile::modeReadWrite);
//myFile.SeekToBegin();///移到文件头
//char szHello[] = "Hello,\r\n world!"; //myFile.Write( szHello,strlen(szHello)); char buffer[100];
memset( buffer, 0, 100 );
myFile.Read(buffer,100); AfxMessageBox( buffer );
myFile.Close();
//m_editResult.SetActiveWindow();
//m_editResult.SetWindowText(buffer);
myFile.Read(buffer,10);这中间....
应该把文件指针再回来开始的地方吧另外
你把这句myFile.Open(pszFileName,CFile::modeCreate|CFile::modeReadWrite);
换成
if (!myFile.Open(pszFileName,CFile::modeCreate|CFile::modeReadWrite))
{AfxMessageBox("打开文件失败");return;}