最近在做一个MFC的项目,在VS上运行OK,需要写出的文件也能成功写出,但把程序打包成dll插件放在测试平台上,无法正确的在工程目录下写出文件。经过老师的提醒,设置了将文件写出到电脑的临时文件夹下,可以成功写出。写文件的代码如下:
char tempPath[50];
DWORD dwSize=50;
GetTempPath(dwSize,tempPath);
string temp_path(&tempPath[0],&tempPath[strlen(tempPath)]);
ofstream f_temp(temp_path+"temp_out.txt");
if(f_temp){
for (int i=0;i<9;i++)
f_temp<< m_CalcResult[i] << " ";
}
f_temp <<Xs<<" "<<Ys<<" "<<Zs<<" ";
f_temp.close();
函数GetTempPath就是得到临时文件夹路径。剩下的,就是C++简单的写文件操作。读文件方法一样,先找到路径,然后进行读写就可以了,读文件如下:<pre name="code" class="cpp">char tempPath[50];
DWORD dwSize=50;
GetTempPath(dwSize,tempPath);
string temp_path(&tempPath[0],&tempPath[strlen(tempPath)]);
//MessageBox(NULL,temp_path.c_str(),"The Temp Path",MB_OK);
string outMatrix = temp_path + "temp_out.txt";