用下面的代码怎么不行阿?
strFileName.Format("d:\\data\\2003年%02d月%02d日\\%02d时%02d分%s.txt",tempmonth,tempday,temphour,tempmin,tempkind);
FILE* datafile1;
if((datafile1=fopen(strFileName,"w"))==NULL)//f:\\work\\file
{
AfxMessageBox("打开文件*.txt时出错,请检查!");
//return FALSE ;
}
但是创建一个文件是可以的
strFileName.Format("%02d时%02d分%s.txt",temphour,tempmin,tempkind);
FILE* datafile1;
if((datafile1=fopen(strFileName,"w"))!=NULL)
这样完全可以
大侠指教,能不能这样直接创建文件夹阿,还是要用其他的方法阿?
12 个解决方案
#1
CreateDirectory
#2
SetCurrentDirectory(_T("d:\\data));
strFileName.Format(_T("2003年%02d月%02d日"),tempmonth,tempday);
if(!CreateDirectory(strFileName,NULL))
return;
SetCurrentDirectory(strFileName);
strFileName.Format(_T("%02d时%02d分%s.txt"),temphour,tempmin,tempkind);
CFile file(strFileName,CFile::modeCreate|CFile::modeReadWrite);
...
strFileName.Format(_T("2003年%02d月%02d日"),tempmonth,tempday);
if(!CreateDirectory(strFileName,NULL))
return;
SetCurrentDirectory(strFileName);
strFileName.Format(_T("%02d时%02d分%s.txt"),temphour,tempmin,tempkind);
CFile file(strFileName,CFile::modeCreate|CFile::modeReadWrite);
...
#3
fopen不能创建中间路径吧
#4
同意水银的。
up
up
#5
记录
#6
创建目录还是用CreateDirectory,文件读写我现在基本都用CFile,而不再用FILE.
#7
CreateDirectory;
CFile file;
file.Open
CFile file;
file.Open
#8
CreateDirectory;
#9
The MakeSureDirectoryPathExists function creates all the directories in the specified DirPath.
BOOL MakeSureDirectoryPathExists(
IN LPSTR DirPath
);
Parameters
DirPath
A pointer to an ASCII string that contains a valid path name.
BOOL MakeSureDirectoryPathExists(
IN LPSTR DirPath
);
Parameters
DirPath
A pointer to an ASCII string that contains a valid path name.
#10
楼上说的太全了
我哑口无言
我哑口无言
#11
我就说个最容易的吧,mkdir("d:\\data\\...")中间的字符串就你自己去搞了,这个好就好在容易,就算文件夹存在也不会出错,没有就会创建喽。
#12
谢谢大家阿
#1
CreateDirectory
#2
SetCurrentDirectory(_T("d:\\data));
strFileName.Format(_T("2003年%02d月%02d日"),tempmonth,tempday);
if(!CreateDirectory(strFileName,NULL))
return;
SetCurrentDirectory(strFileName);
strFileName.Format(_T("%02d时%02d分%s.txt"),temphour,tempmin,tempkind);
CFile file(strFileName,CFile::modeCreate|CFile::modeReadWrite);
...
strFileName.Format(_T("2003年%02d月%02d日"),tempmonth,tempday);
if(!CreateDirectory(strFileName,NULL))
return;
SetCurrentDirectory(strFileName);
strFileName.Format(_T("%02d时%02d分%s.txt"),temphour,tempmin,tempkind);
CFile file(strFileName,CFile::modeCreate|CFile::modeReadWrite);
...
#3
fopen不能创建中间路径吧
#4
同意水银的。
up
up
#5
记录
#6
创建目录还是用CreateDirectory,文件读写我现在基本都用CFile,而不再用FILE.
#7
CreateDirectory;
CFile file;
file.Open
CFile file;
file.Open
#8
CreateDirectory;
#9
The MakeSureDirectoryPathExists function creates all the directories in the specified DirPath.
BOOL MakeSureDirectoryPathExists(
IN LPSTR DirPath
);
Parameters
DirPath
A pointer to an ASCII string that contains a valid path name.
BOOL MakeSureDirectoryPathExists(
IN LPSTR DirPath
);
Parameters
DirPath
A pointer to an ASCII string that contains a valid path name.
#10
楼上说的太全了
我哑口无言
我哑口无言
#11
我就说个最容易的吧,mkdir("d:\\data\\...")中间的字符串就你自己去搞了,这个好就好在容易,就算文件夹存在也不会出错,没有就会创建喽。
#12
谢谢大家阿