cfile创建文件夹
⑴ MFC我怎么才能用当前时间作为新建文件夹的名称
应该是你的路径写法不正确造成的,是不是没有注意'\'的写法,在C++里要表示'\'就要写成'\\'。
比如表示"C:\1\2.txt",就应该写成"C:\\1\\2.txt"
可以用SHFileOperation这个API函数
下面的例子将“C:\1”目录下的所有文件(包括文件夹)拷贝到“C:\2”目录中(C:\2可以不存在):
SHFILEOPSTRUCT shFileOp = {0};
shFileOp.hwnd = NULL;
shFileOp.wFunc = FO_COPY;
shFileOp.pFrom = "C:\\1";
shFileOp.pTo = "C:\\2";
::SHFileOperation(&shFileOp);
注意:shFileOp.pFrom和shFileOp.pTo要使用全路径,可以使用通配符,如:
shFileOp.pFrom = "C:\\1\\*.txt";
其他不变,则将拷贝所有的TXT文档。
*********************************************
网上邻居里好像不能新建文件夹吧?它不能算作文件夹。
要将CEdit里的内容写入TXT文件:
按住CTRL,双击Edit控件,在弹出的对话框中设置一个CString变量与控件关联。
以后调用Updatedata()就可以得到Edit中的内容了。
比如,Edit与m_strText关联,则代码如下:
void CFileManipulateDlg::Onbackup()
{
//获得当前时间并格式化为字符串
CString strTime = CTime::GetCurrentTime().Format("%Y-%m-%d");
//路径,我用的根目录是"c:",你可以根据自己需要修改,
//如果就是程序当前的目录,则用相对路径,直接写文件夹的名称
CString strPath = "C:\\" + strTime;
//建立文件夹
CreateDirectory(strPath, NULL);
//txt文件路径,TXT文档名为backup.txt
CString strTxtPath = strPath + "\\backup.txt";
//新建一个空的txt文档
CFile txtfile(strTxtPath, CFile::modeCreate | CFile::modeWrite);
//后面可对TXT文档进行写操作,参见CFile类
//调用完后UpdateData(),m_strText的值就会变成Edit框中的内容了
UpdateData();
//CString strTxt = "Hello,world!";
//将Edit中的内容写入Txt文档
txtfile.Write((LPCTSTR)m_strText, m_strText.GetLength());
//最后关闭Txt文档
txtfile.Close();
}
⑵ vc写入TXT文本文件和创建文件夹的问题,详细如下
考虑MakeSureDirectoryPathExists函数.在新建txt文件前,先判断该目录是否存在,若不存在,则新建。
需加入头文件:#include <imagehlp.h>
需添加库连接:imagehlp.lib
Eg:
MakeSureDirectoryPathExists("C:\\111\\222\\333\\");//注意:333最后的\\一定要保留,否则,333如果不存在的话,无法建立。
⑶ C++中如何创建文件和目录
如果是VC的话,文件操作如下:
文件打开:
char* pszFileName = "c:\\test\\myfile.dat";
CFile myFile;
CFileException fileException;
if ( !myFile.Open( pszFileName, CFile::modeCreate |
CFile::modeReadWrite, &fileException ) )
{
TRACE( "Can't open file %s, error = %u\n",
pszFileName, fileException.m_cause );
}
文件读写:
char szBuffer[256];
UINT nActual = 0;
CFile myFile;
myFile.Write( szBuffer, sizeof( szBuffer ) );
myFile.Seek( 0, CFile::begin );
nActual = myFile.Read( szBuffer, sizeof( szBuffer ) );
关闭:
myFile.Close();
文件定位:
long offset = 1000; // 偏移量
long cpos; // 当前位置
cpos = myFile.Seek(offset,CFile::begin);
结果是cpos的值为1000
文件的查找
当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一个专门用来进行文件查找的类CFileFind,使用它可以方便快捷地进行文件的查找。下面这段代码演示了这个类的最基本使用方法。
CString strFileTitle;
CFileFind finder;
BOOL bWorking = finder.FindFile("C:\\windows\\sysbkup\\*.cab");
while(bWorking)
{
bWorking=finder.FindNextFile();
strFileTitle=finder.GetFileTitle();
}
如果你要进行的文件操作只是简单的读写整行的字符串,我建议你使用CStdioFile,用它来进行此类操作非常方便,如下例。
CStdioFile mFile;
CFileException mExcept;
mFile.Open( "d:\\temp\\aa.bat", CFile::modeWrite, &mExcept);
CString string="I am a string.";
mFile.WriteString(string);
mFile.Close();
⑷ 我用CftpConnection类的成员函数在ftp服务器上创建一个文件夹,可怎么把文件上传到这个创建的文件夹呢
和本地文件读写类似的
先以读方式打开本地文件,再以写方式打开FTP远程文件,然后读取本地文件至远程文件。
关键代码:
bOpen=m_CFile.Open(m_str_LocalFileName,CFile::modeRead);
m_pRemoteFile=m_pConnect->OpenFile(m_str_remoteFileName,GENERIC_WRITE);
while((dwRead=m_CFile.Read(pBuf,m_FileLenStep))>0)
{
m_pRemoteFile->Write(pBuf,dwRead);
m_CurUploadSize+=dwRead;
}
⑸ 一个c语言编程问题,建立一百个目录,分别叫1,2,3,4,5...100
给你思路,剩下自己网络就行了,其实就是全部都用CFile的函数就可以 了,内容的话,从1开始输出这种就不用介绍怎么实现了吧。。。
1、创建文件夹,用CFile就可以了,里面有makeDir的函数
2、创建文件,这一步不需要可以去做,只要调用输出文件流,系统检测到文件不存在会自动生成。
3、输出内容,也是CFile的函数,内容的话就不用教你怎么实现了吧。。。
⑹ CFile和CreateFile疑问
创建目录有创建目录的函数
这是你要做的事情
创建文件的函数不会去做这事情
⑺ C#新建文件夹,并给它命名当前时间
C#使用Directory.CreateDirectory函数创建文件夹,使用DateTime.Now得到当前时间,因为文件夹的命名规则中不允许出现冒号等特殊符号,可以把时间格式化成纯数字格式,使用
DateTime.Now.ToString("yyyyMMddHHmmss")意思为把2015-12-28 10:30:01这样的时间转换为20151228103001这样的格式表示,代码如下所示:
///<summary>
///创建当前时间为名称的目录
///</summary>
///<paramname="root">创建目录的位置</param>
voidTest(stringroot)
{
Directory.CreateDirectory(root+"\"+DateTime.Now.ToString("yyyyMMddHHmmss"));
}
Directory.CreateDirectory 方法
按照 path 的指定创建所有目录和子目录。
Namespace: System.IO
语法
public static DirectoryInfo CreateDirectory(
string path
)
参数
path类型: System.String
要创建的目录路径。
返回值
类型: System.IO.DirectoryInfo
由 path 指定的 DirectoryInfo。