文件操作

来源:互联网 发布:知天下资源吧解压密码 编辑:程序博客网 时间:2024/06/06 09:48

创建文件:

char file[MAX_PATH]={0};
lstrcpy(file,"F:\\alan.txt");
HANDLE hFile=CreateFile(file,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
cout<<"Error:"<<GetLastError()<<endl;
}

写文件:

char buf[100];
DWORD nsize=0;
lstrcpy(buf,"Alan\n");
int wlen=strlen(buf);
for(int i=0;i<3;i++)
WriteFile(hFile,buf,wlen,&nsize,NULL);

读文件:

DWORD nsize=0;
char content[100];
ReadFile(hFile,content,30,&nsize,NULL);
content[nsize]=NULL;
cout<<"Contents:"<<content<<endl;
cout<<"Read Size:"<<nsize<<endl;

删除文件:

char file[MAX_PATH]={0};
lstrcpy(file,"F:\\alan.txt");
if(DeleteFile(file))
cout<<"Delete Success!"<<endl;
else
cout<<"Delete Failed!"<<endl;


创建目录:

if(CreateDirectory("F:\\alan",NULL))
cout<<"Create Success!"<<endl;
else
cout<<"Create failed!"<<endl;

删除目录:

if(RemoveDirectory("F:\\alan"))
cout<<"Delete Success!"<<endl;
else
cout<<"Delete failed!"<<endl;


U示例:

/*U盘免疫×/


#define AUTORUN "autorun.inf"
#define IMMUNITY "\\immunity...\\"


BOOL CUImmunityDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();


// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
//  执行此操作
SetIcon(m_hIcon, TRUE);// 设置大图标
SetIcon(m_hIcon, FALSE);// 设置小图标


// TODO: 在此添加额外的初始化代码
char szDrivers[MAXBYTE]={0};
GetLogicalDriveStrings(MAXBYTE,szDrivers);
char *pDriver=szDrivers;
while(*pDriver)
{
m_cbDrivers.AddString(pDriver);
pDriver+=4;
}
m_cbDrivers.SetCurSel(0);
return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}


void CUImmunityDlg::OnBnClickedBtok()
{
// TODO: 在此添加控件通知处理程序代码
char szPath[MAXBYTE]={0};
m_cbDrivers.GetWindowTextA(szPath,MAXBYTE);
lstrcat(szPath,AUTORUN);
CreateDirectory(szPath,NULL);
lstrcat(szPath,IMMUNITY);
if(!CreateDirectory(szPath,NULL))
{
MessageBox("免疫失败!");
}
MessageBox("免疫成功!");
}


void CUImmunityDlg::OnBnClickedBtcancel()
{
char szPath[MAXBYTE]={0};
m_cbDrivers.GetWindowTextA(szPath,MAXBYTE);
lstrcat(szPath,AUTORUN);
lstrcat(szPath,IMMUNITY);
int ret=RemoveDirectory(szPath);
if(!ret)
{
MessageBox("解除免疫出现错误!");
return;
}
ZeroMemory(szPath,MAXBYTE);
m_cbDrivers.GetWindowTextA(szPath,MAXBYTE);
lstrcat(szPath,AUTORUN);
lstrcat(szPath,"\\");//不加斜杠可能出错。
ret=RemoveDirectory(szPath);
if(!ret)
{
MessageBox("解除免疫出现错误!");
return;
}
MessageBox("解除免疫!");
}


原创粉丝点击