vc++文件内容读入变量有关问题
vc++文件内容读入变量问题
比如我有一个DAT文件,里面只有两个个数据12345 54321(用空格隔开),我想把它读取到变量a,b中,之前试过串行化和CFile::Read,但是读入的数据都是分开的(比如把12345的第一个数1读给了a),那怎样才能把12345,54321一整个数字fenbie1读进变量a,b中呢????如果已将“12345 54321”用ReadString读了字符串,可否实现,有没有更好的方法,小弟新学,忘高手指点
------解决方案--------------------
又发了个贴问啊,我帮你写了个程序可以分割的,调试通过,你试试看行不行吧
比如我有一个DAT文件,里面只有两个个数据12345 54321(用空格隔开),我想把它读取到变量a,b中,之前试过串行化和CFile::Read,但是读入的数据都是分开的(比如把12345的第一个数1读给了a),那怎样才能把12345,54321一整个数字fenbie1读进变量a,b中呢????如果已将“12345 54321”用ReadString读了字符串,可否实现,有没有更好的方法,小弟新学,忘高手指点
------解决方案--------------------
又发了个贴问啊,我帮你写了个程序可以分割的,调试通过,你试试看行不行吧
- C/C++ code
void CSubButtonDlg::OnOK() { CStdioFile file; CString a,b; //存放读出来的字符串 file.Open(_T("c:\\DAT.DAT"), CFile::modeRead); CString strLine(_T("")); int nLineCount = 0; file.ReadString(strLine); int number = atoi(strLine); // "12345" file.Close(); CStringArray dest; while(strLine.Find( " ") != -1) { int k = strLine.Find( " "); dest.Add(strLine.Left(k)); strLine = strLine.Mid(k+1); } dest.Add(strLine); a = dest.GetAt(0); b = dest.GetAt(1); // MessageBox(dest.GetAt(0)); // MessageBox(dest.GetAt(1)); }
------解决方案--------------------
一次读取到buffer中,利用_tcstok()以空格为分隔符来分割