本人初学VC,最近要实现这么一个功能,却不知从何处下手?
我需要从一个文件中读取数据。这个文件的内容大致如下:电压 1
电流 2
我需要通过查找前面的字符串,然后再读出后面的数值。
即我查找“电压”,然后就可以得到其后的数值1。这个功能按说不难实现,可我就是不知如何实现,到底该使用哪些类和函数?请各位大侠帮忙详细解答。多谢了!
我需要从一个文件中读取数据。这个文件的内容大致如下:电压 1
电流 2
我需要通过查找前面的字符串,然后再读出后面的数值。
即我查找“电压”,然后就可以得到其后的数值1。这个功能按说不难实现,可我就是不知如何实现,到底该使用哪些类和函数?请各位大侠帮忙详细解答。多谢了!
2.再用String的Find,查找“电压”,Mid(位置+往后五个长度)
电流 2
电工 10
电能 20
电容 30
哈哈哈哈 30//-----------------------#include <afx.h>
#include <iostream.h>
int main(){
char* pFileName="text.txt";
CString szText,szOut;
int pos;
try
{
CStdioFile f(pFileName,CFile::modeRead);
while(f.ReadString(szText)){
pos = szText.Find(" ");
szOut = szText.Mid(pos+1);
cout<<szOut<<endl;
}
}
catch(CFileException e){
e.ReportError();
}
return 0;
}//------------------------
注意:在控制台程序中,要修改一下设置:
工程 --> 设置 -->Genernal --> Using MFC in a Share DLL
不过还有一个问题,就是关于文件路径应该怎么写?如果那个text文件放在应用程序当前目录,pFileName应该怎么写?采用相对路径,还是绝对路径?分别如何写呢?
GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer();
int nPos;
nPos=sPath.ReverseFind('\\');
sPath=sPath.Left(nPos);
CString lpszFileName = sPath + "\\text.TXT";lpszFileName存放的就是你的DEBUG文件夹下面的text.TXT的当前路径了。
也可一绝对路径