这两天在做操作系统的课设,想要用int remove( const char *filename);删除文件,网上找的一直说是remove()里要放文本名称,如remove("a.txt");但此时是找不到该文件的,参数应当放的是文件的绝对地址;
返回值:如果删除成功,remove返回0,否则返回EOF(-1)。
注意:如果删除成功,返回0
话不多说:上个小程序
我的文件存放路径为 C:\osfile\mfd.txt
#include<iostream>
#include "stdio.h"
#include "string.h"
using namespace std;
char *rtrim(char *str); //删除尾空格
char *ltrim(char *str); //删除首空格
int main()
char fname[50],str[50];
int flag;
cout<<"请输入你要删除的文件名:"<<endl;
gets(fname);
ltrim(rtrim(fname)); /*去空格*/
strcpy(str,"c:\\osfile\\"); /*注意此时斜杠方向,转义*/
strcat(str,fname);
strcat(str,".txt");
flag = remove(str); /*remove()函数返回值为0或EPF(-1)*/
if(flag == 0) cout<<"删除成功!"<<endl;
cout<<"删除失败! 错误信息为:" <<endl;
perror("remove"); /*打印错误信息*/
char *rtrim(char *str) /*删除跟随在后面的尾空格*/
int n=strlen(str)-1;
while(n>=0)
if(*(str+n)!=' ')
*(str+n+1)='\0';
break;
else n--;
if (n<0) str[0]='\0';
return str;
char *ltrim(char *str) /*删除字符串前方的空格*/
strrev(str); //逆置字符串
rtrim(str);
strrev(str);
return str;