鱼C论坛

 找回密码
 立即注册
查看: 2173|回复: 6

C++中我想输入文件名,然后用以文件名删除文件

[复制链接]
发表于 2014-5-24 16:49:57 | 显示全部楼层 |阅读模式
5鱼币
string str;
cin >> str;
system("del str");
这个方法行不通啊。还有更好的办法么?

最佳答案

查看完整内容

使用remove函数:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-24 16:49:58 | 显示全部楼层
使用remove函数:
#include <stdio.h>

int main(void)
{
        char file[80];
        printf("File to delete: ");
        gets(file);

        if(remove(file) == 0)
                printf("Removed %s.\n",file);
        else
                perror("remove");
        return 0;
} 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-24 17:44:32 | 显示全部楼层
最好是使用remove函数,不过对于你使用system这种方法,其实是可以运行的:
#include <iostream>
#include <string.h>

using namespace std;

int main(void)
{
        char file[80];
        char commad[80]="del ";
        cout<<"File to delete: ";
        cin.getline(file,80);
        strcat(commad,file);
        system(commad);
        return 0;
} 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-24 18:11:54 | 显示全部楼层

高!不过你提醒我用remove方法了,我去看了一下可以用。
不过还有一个问题
文件中有如下数据
2014-4-4
2014-4-5
2014-4-6
我要删除某一行,我的方法不行呀,方法如下。
        date = "2014-4-5"
        for(str;getline(*fin,str);)
        {
                if(date == str)
                {
                        str = "";
                }
        }


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-24 18:25:31 | 显示全部楼层
所啊倒萨打算打算
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-24 18:33:21 | 显示全部楼层
a372187663 发表于 2014-5-24 18:11
高!不过你提醒我用remove方法了,我去看了一下可以用。
不过还有一个问题
文件中有如下数据

第一种方法.先将文件中的数据全部读到内存中,可以用链表存储,删除你先删除的某行,然后将数据全部写到文件。

第二种,一行一行读取。这个就要新建一个文件2,从原始文件读取一行,写入到文件2,需要删除的就不写进文件2,全部操作完了。。然后删除原始文件,重命名文件2为原始文件名
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-24 19:10:24 | 显示全部楼层
←_← 这么写当然不行啊 引号下 str 就是"str"这个文本不是变量
用strcat先把字符串连起来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-27 03:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表