void CFILESEDlg::OnBnClickedButok()
{
// TODO: 在此添加控件通知处理程序代码
CString StrLine;
GetDlgItemText(IDC_EDITLINE,StrLine);
int iLine = atoi(StrLine);
CString StrFile;
GetDlgItemText(IDC_EDITFILESE,StrFile);
CString FileName;
GetDlgItemText(IDC_EDITFILENAME,FileName);
fstream in(StrFile);
string line;
int i,LineBin=0;
FILE *pb;
if((pb = fopen(StrFile,"r"))==NULL)
{
MessageBox("打开失败!");
}
while(!feof(pb))
{
char mid = fgetc(pb);
if(mid =='\n')
LineBin++;
}
if(iLine>LineBin)
{
MessageBox("输入行数超过文本行数!");
}
if(in)
{
for(i=0;i < iLine;i++)
{
getline(in, line);
char buf[200];
if(FileName=="")
{
sprintf(buf,"%d.txt",i);
}
else
{
sprintf(buf,"%s%d.txt",FileName,i);
}
FILE *fp = fopen(buf,"w");
if(NULL == fp)
{
return;
}
char *p;
int len = line.length();
p=(char *)malloc((len+1)*sizeof(char));
line.copy(p,len,0);
*(p+len)='\0';
fputs(p,fp);
fclose(fp);
}
}
else
{
MessageBox(("找不到文件,请确认路径"));
}
}
void CFILESEDlg::OnBnClickedButtopenfile()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog *lpszOpenFile;
CString FilePathName;
lpszOpenFile = new CFileDialog
(TRUE,"","",OFN_FILEMUSTEXIST |OFN_HIDEREADONLY , "所有文件(*.*)|*.*|文件类型(*.txt)|*.txt|");
if(lpszOpenFile->DoModal() == IDOK )
{
FilePathName=lpszOpenFile->GetPathName();
SetDlgItemText(IDC_EDITFILESE,FilePathName);
}
}
MFC 实现文件里每一行单独建立一个文件
最新推荐文章于 2024-05-02 18:04:02 发布