【目的】:在工程文件夹下创建新的文件夹“砂轮截型”并在该文件夹下写入文件
【代码文件】:在“Button1”按钮控件下输入如下代码,代码的注释已经很详细,并且可以自行单步调试辅助理解
//只提取工程文件所在目录
CString path;
GetModuleFileName(NULL,path.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
path.ReleaseBuffer(); //找到执行文件所在的目录...\\...\\position\\Debug\\position.exe
int pos = path.ReverseFind('\\');
path = path.Left(pos); //找到执行文件的上一级目录...\\...\\position\\Debug
int pos1 = path.ReverseFind('\\');
path = path.Left(pos1); //找到执行文件的上一级目录...\\...\\position
//在文件夹下创建新的文件夹
CString newPath;
newPath = path + "\\砂轮截型";
if (!PathIsDirectory(newPath))
{
CreateDirectory(newPath,0);
}
//准备写入文件
CString m_Code,Number,X,Y;
m_Code="";
double R[5]={2.0,3.6,5.9,7.4,9.2};
double b[5]={0,1.0,3.2,5.9,10.4};
for (int i=0;i<5;i++)
{
Number.Format("N%d\t", i+1);
X.Format("%f\t", R[i]);
Y.Format("%f\r\n", b[i]);
m_Code+=Number+X+Y;
}
//创建文件名称及文件路径
CString txtPath;
txtPath = newPath + "\\砂轮离散点.txt";
CFile file;
file.Open(txtPath,CFile::modeCreate|CFile::modeWrite);
file.Write(m_Code,m_Code.GetLength());
file.Close();
MessageBox("文件写入成功!");
【补充内容】:只提取可执行文件的名称
//只提取exe名:
CString path;
GetModuleFileName(NULL,path.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
path.ReleaseBuffer();
int pos = path.ReverseFind('\\');
int len = path.GetLength();
path = path.Right(len - pos -1);
参考链接:获取文件的路径