美文网首页
c++ remove()函数删除文件

c++ remove()函数删除文件

作者: beautymo | 来源:发表于2018-01-09 09:54 被阅读0次

这两天在做操作系统的课设,想要用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;
    else
    {
        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;
}

image.png

注意几点:

(1)no such file or directory 错误
除上面所说的没有用绝对路径外,还可能是名字保存的不好,比如将后缀名当名字一起保存了
保存的是s.txt删除时输入s是找不到的,发生no such file or directory错误,因为我保存的名字是s.txt 那个 .txt是名字而不是后缀名,我正确的删除应该是s.txt 文档全称为 s.txt.txt 存名的时候别把后缀名一起带进去。。。
(2)permission denied错误 权限不够
如果文档是建在桌面上的,以后随便把那个文档移动到哪,都需要提供管理员权限 ,此时删除会被拒绝!!!所以如果要删除那个文档,别在有权限的地方建。。。

相关文章

  • c++ remove()函数删除文件

    这两天在做操作系统的课设,想要用int remove( const char *filename);删除文件,网上...

  • golang的删除文件操作API

    记录golang的os.Remove和os.RemoveAll用法 os.Remove(file) 删除文件 删除...

  • 2019-08-06Linux基础知识与技能与编辑器vi的使用(

    (9)rm (remove,去除、删除)作用:用来删除文件、文件夹 rm 文件pathname rm -r 文...

  • Python物语:文件操作

    python常用的文件操作命令 ww函数用来删除一个文件os.remove()检验给出的路径是否是一个文件os.p...

  • linux命令-rm

    rm 原单词 : Remove file (删除文件) rm命令用于删除一个文件或者目录。文件一旦通过rm命令删除...

  • 删除列表

    1、使用 remove 函数删除代码:names=["Tony","Lisa","July","Merry","小...

  • 2018-12-24 #STL#

    C++ vector删除符合条件的元素 两点:algorithm::remove,vector.erase()cp...

  • python删除文件

    import os 删除文件: os.remove() 删除空目录: os.rmdir() 递归删除空目录: os...

  • 文件夹删除

    import osimport shutil os.remove(path) #删除文件os.removedi...

  • 删除函数用法

    原则:优先使用删除函数,而不是private未定义的函数 删除函数的用法 删除C++会自动生成的特种成员函数,比如...

网友评论

      本文标题:c++ remove()函数删除文件

      本文链接:https://www.haomeiwen.com/subject/ibfwnxtx.html