#if 1
static TCHAR FileName[] = L"//Config.txt";
// TODO: 在此处添加实现代码.
TCHAR* path = new TCHAR[MAX_PATH];
ZeroMemory(path, MAX_PATH);
GetCurrentDirectory(MAX_PATH, path);
UINT strlength = wcslen(path);
wcscpy(path + strlength, FileName); //pszFileName
//AfxMessageBox(path); //test?
setlocale(LC_CTYPE, "chs"); //读取文件时按照 Unicode 方式读取 加头文件 <locale.h>
CString str1;
CStdioFile myFile;
CFileException fileException;
// typeBinary
if (myFile.Open(path, CFile::typeText | CFile::modeRead | CFile::modeNoTruncate | CFile::modeCreate), &fileException)
{
//----------------------------------------------------------------------------------
myFile.SeekToBegin();
char cstr[128];
int line = 0;
while (myFile.ReadString(str1))
{
m_wndList.SetItemText(line, 4, str1); //
line++;
}
myFile.Close();
}
else
{
TRACE("Can't open file %s,error=%u/n", FileName, fileException.m_cause);
}
#else
static TCHAR FileName[] = L"Config.txt";
// TODO: 在此处添加实现代码.
CFile file(FileName, CFile::modeRead);
char* pBuf;
char LingBuff[128];
DWORD dwFileLen;
dwFileLen = file.GetLength();
pBuf = new char[dwFileLen]; //缓存整个文件
file.Read(pBuf, dwFileLen);
UINT nLeng = 0;
UINT nLine = 0;
int line = 0;
while (nLeng < dwFileLen)
{
LingBuff[nLine] = pBuf[nLeng];
if (pBuf[nLeng] == '\n') //换行则切断
{
LingBuff[nLine + 1] = 0x00; //去掉后面的字符
nLine = 0;
CString str3(LingBuff); //转换成CString
m_wndList.SetItemText(line, 4, str3);
line++;
}
else
{
nLine++;
}
nLeng++;
}
pBuf = 0;
file.Close();
//MessageBox(pBuf);
delete pBuf;
#endif
提供两种方法,第一种比较简单。 第二种根据自己需求定长度。 测试都是可以的。