RT
怎样逐行读取文本文件的内容
例如
45,28,2,45,45
4,8,566,26,32
...
然后存到listctrl里面
不能用CStdioFile 里面好多函数WINCE好像没有很急哦 多谢大家帮忙 最好有源码
怎样逐行读取文本文件的内容
例如
45,28,2,45,45
4,8,566,26,32
...
然后存到listctrl里面
不能用CStdioFile 里面好多函数WINCE好像没有很急哦 多谢大家帮忙 最好有源码
string line; //该源文件得行内容
int count=0; //该源文件所含行有多少vector<string> vecString; while( getline(in,line) ) //读取每行内容
{
vecString.push_back(line);
}
CString str;
GetDlgItemText(IDC_EDIT_HAHA,str); //你可以获得列表框的数据
char szFilter[]= "文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*||";
CFileDialog SaveDlg(false,NULL,NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter,this);
SaveDlg.m_ofn.lStructSize=sizeof(SaveDlg.m_ofn);
SaveDlg.m_ofn.hwndOwner = NULL;
SaveDlg.m_ofn.lpstrTitle= "保存为";
SaveDlg.m_ofn.lpstrDefExt="txt";
if(SaveDlg.DoModal()==IDOK)
{
CString strPathName=SaveDlg.GetPathName();
CFile m_fileSave;
m_fileSave.Open(strPathName,CFile::modeCreate|CFile::modeWrite);
str += 0x0d; \\回车 在末尾加个标志
str += 0x0a; \\换行 在末尾加个标志
m_fileSave.Write(str,str.GetLength()); //写入列表框的数据
m_fileSave.Close();
}
打开!!! char szFilter[]= "文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*||";
CFileDialog SaveDlg(true,NULL,NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter,this);
SaveDlg.m_ofn.lStructSize=sizeof(SaveDlg.m_ofn);
SaveDlg.m_ofn.hwndOwner = NULL;
SaveDlg.m_ofn.lpstrTitle= "打开";
SaveDlg.m_ofn.lpstrDefExt="txt";
if(SaveDlg.DoModal()==IDOK)
{
CString strPathName=SaveDlg.GetPathName();
CFile m_fileOpen;
m_fileOpen.Open(strPathName,CFile::modeRead);
char buffer[1000];
char buffer1[1000];
int flag = 0;
int nFileSize=m_fileOpen.GetLength();//得到文件长度 while(nFileSize>0)
{
memset(buffer,0,1000);
int nSize=sizeof(buffer);
if(nSize>nFileSize)
nSize=nFileSize;
m_fileOpen.Read(&buffer,nSize);
m_fileOpen.Seek(-nSize,CFile::current);
int len=0;
BOOL bRet = TRUE;
while(bRet==TRUE)
{
//读到标志那就换下一行
if((buffer[len]==0x0d)&&(buffer[len+1]==0x0a))
{
bRet=FALSE;
flag++;
len++;
}
len++;
}
memset(buffer1,0,1000);
strncat(buffer1,buffer,len-2); //不要后面的回车和换行
m_fileOpen.Seek(len,CFile::current);
nFileSize -= len;
switch(flag)
{
case 1:SetDlgItemText(IDC_EDIT_HAHA,buffer1);break; //得到文本中的数据显示到列表框中
default:break;
}
}
m_fileOpen.Close();
}
while(fgets(...)) {
}
fclose(...).
while (fgets()) {
}
fclose()