MFC txt数据读取分割保存的问题

2291 人浏览 | 时间: 2016-11-09 20:40:44 | 作者: codexia

想实现的效果是将txt文本文件读出然后保存到数据库中,试过几个分割函数,都无法正确插入到数据库中,但是|Qt中确成功了,现在想问MFC改如何实现这个效果

 while(!in.atEnd()) //将txt中的文件 插入到表thiness中 但是 txt 文件是什么时候建立的呢?
 {
 QString line = in.readLine();
 QStringList fields = line.split("|");
 query1.exec(tr("insert into thickness 
values (%1,''%2'',''%3'')").arg(fields[0]).arg(fields[1]).arg(fields[2]));
 }
 file.close();

CString str;
str.Format(_T("./temp/Zn.txt"));   
CStdioFile m_file(str, CFile::modeRead);
{
::AfxMessageBox(_T("文件打开失败。"));
return  ;
}

CString contents;
while (m_file.ReadString(contents))
{
TCHAR seps[] = _T("|");
TCHAR* token = _tcstok((LPTSTR)(LPCTSTR)contents, seps);
while (token != NULL)
{  
            //不知道怎么分割和组合了、、、求教
}
}
m_file.Close();


C++技术网解答:

    分割和组合的代码如下:


CStdioFile file;
if(!file.Open(_T("D:/1.txt"), CFile::modeRead))
{
    MessageBox(_T("文件打开失败"));
    return;
}
CString contents;
vector<vector<CString> > data_list;
vector<CString> row_list;
while (file.ReadString(contents))
{
    TCHAR seps[] = _T("|");
    row_list.clear();

    TCHAR* token = _tcstok((LPTSTR)(LPCTSTR)contents, seps);
    while (token != NULL)
    {	 
        row_list.push_back(token);
        token = _tcstok(NULL, seps);
    }
    data_list.push_back(row_list);
}
file.Close();
    运行效果图:
请微信扫码阅读
为防止恶意爬虫,
已开启反爬机制

相关阅读