其实很简单的,微软的这个什么ini,inf都是严格的格式,稍一不慎根本读取不到,在公司抽空给你搞了一下
int _tmain(int argc, _TCHAR* argv[])
{
const int bufSize = 2048;
char buf[bufSize]={0};
char path[MAX_PATH]={0};
GetFullPathNameA(".\\autorun.inf",MAX_PATH,path,NULL);
if(!::GetPrivateProfileStringA("autorun",NULL,NULL,buf,sizeof buf,path))
{
cout<<"read file fail !"<<endl;
return 0;
}
fstream fileHand;
fileHand.open(".\\xianxing.inf",fstream::in|fstream::out|fstream::app);
char* tmp;
char rebuf[bufSize]={0};
char result[1024]={0};
::GetPrivateProfileStringA("autorun",buf,"NULL",rebuf,bufSize,path);
wsprintfA(result,"%s = %s\n",buf,rebuf);
fileHand.write(result,strlen(result));
for (int i=0;i<sizeof(buf) ;i++)
{
if (buf[i]==0 && buf[i+1]==0)
{
break;
}
if (buf[i]==0)
{
tmp = &buf[i+1];
::GetPrivateProfileStringA("autorun",tmp,"NULL",rebuf,bufSize,path);
wsprintfA(result,"%s = %s\n",buf,rebuf);
cout<<result<<endl;
fileHand.write(result,strlen(result));
}
}
fileHand.close();
return 0;
}