C++中我想输入文件名,然后用以文件名删除文件
string str;cin >> str;
system("del str");
这个方法行不通啊。还有更好的办法么?
使用remove函数:#include <stdio.h>
int main(void)
{
char file;
printf("File to delete: ");
gets(file);
if(remove(file) == 0)
printf("Removed %s.\n",file);
else
perror("remove");
return 0;
}
最好是使用remove函数,不过对于你使用system这种方法,其实是可以运行的:#include <iostream>
#include <string.h>
using namespace std;
int main(void)
{
char file;
char commad="del ";
cout<<"File to delete: ";
cin.getline(file,80);
strcat(commad,file);
system(commad);
return 0;
}
elvo 发表于 2014-5-24 17:44 static/image/common/back.gif
最好是使用remove函数,不过对于你使用system这种方法,其实是可以运行的:
高!不过你提醒我用remove方法了,我去看了一下可以用。
不过还有一个问题
文件中有如下数据
2014-4-4
2014-4-5
2014-4-6
我要删除某一行,我的方法不行呀,方法如下。
date = "2014-4-5"
for(str;getline(*fin,str);)
{
if(date == str)
{
str = "";
}
}
所啊倒萨打算打算 a372187663 发表于 2014-5-24 18:11 static/image/common/back.gif
高!不过你提醒我用remove方法了,我去看了一下可以用。
不过还有一个问题
文件中有如下数据
第一种方法.先将文件中的数据全部读到内存中,可以用链表存储,删除你先删除的某行,然后将数据全部写到文件。
第二种,一行一行读取。这个就要新建一个文件2,从原始文件读取一行,写入到文件2,需要删除的就不写进文件2,全部操作完了。。然后删除原始文件,重命名文件2为原始文件名 ←_← 这么写当然不行啊 引号下 str 就是"str"这个文本不是变量
用strcat先把字符串连起来
页:
[1]