中易网

C++文件打开一直失败

答案:2  悬赏:0  
解决时间 2021-04-21 03:33
#include"stdafx.h"
#include"iostream"
#include"string"
#include"fstream"
using namespace std;

typedef struct Stu{
string name;
string number;
int score1;
int score2;
int score3;
struct Stu * next;
}Student,*StudentPtr;

class StudentSystem{
private:
StudentPtr L;

public:
StudentSystem(){
StudentPtr p=new Student;
p->next=NULL;
fstream txtfile;
txtfile.open("e:\\Student.txt",ios::in|ios::out);
if(!txtfile){
cerr<<"文件生成失败"<<endl;
exit(1);
}
//文件内容抽取
while(!txtfile.eof()){
StudentPtr a;
a=new Student;
txtfile>>a->name>>a->number>>a->score1>>a->score2>>a->score3;
a->next=p;
p=a;
};
txtfile.close();

//删除含有无效信息的节点
if(!p->next->next){
StudentPtr a;
a=p;
p=p->next;
delete(a);
}
else{
StudentPtr f=p;
StudentPtr a=f->next;

while(!a->next->next){
f=f->next;
a=f->next;
}
f->next=a->next;
delete(a);
}
L=p;

int choose;
do{
cout<<"请选择操作:1-插入学生;2-显示全部学生;3-显示指定学生;4-修改指定学生信息;5-学生排序"<<endl;
cin>>choose;
switch(choose){
case 1:
insert_student();
break;
case 2:
showall_student();
break;
case 3:
showone_student();
break;
case 4:
change_student();
break;
case 5:
order_student();
break;
default:
cout<<"选择失败"<<endl<<endl;
break;
}
cout<<"是否继续操作(1:继续选择其他操作 0:退出)"<<endl;
cin>>choose;
}while(choose==1);
};
~StudentSystem(){
fstream txtfile;
txtfile.open("e:\\Student.txt",ios::out|ios::trunc);
if(!txtfile)
{
cerr<<"文件保存失败"<<endl;
exit(1);
}
StudentPtr p=L;
while(p->next!=NULL){
txtfile<<p->name<<"\t"<<p->number<<"\t"<<p->score1<<"\t"<<p->score2<<"\t"<<p->score3<<"\n";
p=p->next;
}
txtfile.close();

}
StudentPtr search_student();
void insert_student();
void showall_student();
void showone_student();
void change_student();
void order_student();
void order();
void order(string a,string b);
void order(string a,int b);
void order(int a);
void order(int a,int b);
void order(int a,int b,int c);
void order(int a,int b,int c,int d);
};



最佳答案
可以改成 txtfile.open("e:\\Student.txt",ios::in|ios::out|ios::app);
但我不知道这符不符合你的需求
全部回答
可能的几个原因有: 1. 路径下的文件不存在 2. 执行环境没有管理员权限无法操作指定文件
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
星象仪中文歌词
安踏好嘛?
滴滴出行 微信 滴滴免费卷使用
苹果6闪屏怎么办官什么原因
大桶小桶矿泉水价格为什么一样
从广州南站到樟木头坐什么车?详细一点
在那里买劲舞的结婚戒指?
有28个桃子,每天吃5个,这些桃子最多够吃几
假设中国的地形东高西低那中国的气候和河流会
路虎极光 Q5 X3中如何选择?
在福州师大大学东城搭哪路可以转八路?
在珠海建个公司网站。要想免费建智能网站,可
给泰迪美容,染毛会影响健康吗?
QQ游戏人生邀请我
怎样消灭狗狗身上的跳蚤
推荐资讯
左权县属哪个地区?有名胜古迹吗?
中通快递单号查不到 快件号:200852268515
泰慕士培训中心地址在什么地方,我要处理点事
东辛店村怎么去啊,有知道地址的么
cs怎么换地图
乐视声控电视机价格多少
花种有几种
我要好听的古代女生姐妹名和现代女生姐妹名,
中国有几头牛???
怎样为父母过生日
QQ莫名乱发消息
想打印一点东西,又不知道打什么好
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?