一個簡單的檔案管理程式 (轉)
node.h
====================================
#include
template
class node
{
private:
node
public:
T data;
node(void);
node(T data1,node
void insertafter(node
void deleteafter(void);
node
};
template
node
{
next=NULL;
}
template
node
{
data=data1;
next=p;
}
template
void node
{
p->next=next;
next=p;
}
template
void node
{
node
temp=next;
next=temp->next;
delete temp;
}
template
node
{
return next;
}
list.h
=====================================
#include
#include
#include"node.h"
template
class list
{
private:
node
public:
list(void);
node
void createlist(T data2,node
void Insertlast(T p);
void deletedata(T d);
void print(void);
void deletelist(void);
void athead(void);
T Data(void);
node
node
};
template
list
{
head=NULL;
newnode=NULL;
last=NULL;
currnode=NULL;
prenode=NULL;
}
template
node
{
newnode=new node
return newnode;
}
template
void list
{
newnode=new node
if(head==NULL)
{
head=newnode;
}
else
{
currnode=head;
while(currnode->nextnode()!=NULL)
{
currnode=currnode->nextnode();
}
currnode->insertafter(newnode);
currnode=newnode;
}
last=newnode;
}
template
void list
{
newnode=new node
if(last->nextnode()==NULL)
{
last->insertafter(newnode);
}
else
{
cout< exit(0);
}
}
template
void list
{
if(head==NULL)
{
cout< exit(0);
}
if(head->data==d)
{
head=head->nextnode();
}
else
{
currnode=head;
while(currnode!=NULL)
{
if(currnode->data!=d)
{
prenode=currnode;
currnode=currnode->nextnode();
}
else
{
prenode->deleteafter();
currnode=prenode->nextnode();
}
}
}
}
template
void list
{
currnode=head;
if(head==NULL)
{
cout< exit(0);
}
while(currnode!=NULL)
{
cout<
}
cout<
template
void list
{
node
if(head==NULL)
{
cout< exit(0);
}
while(head!=NULL)
{
temp=head;
head=head->nextnode();
delete temp;
}
}
template
void list
{
if(head!=NULL)
{
currnode=head;
}
else
{
cout< exit(0);
}
}
template
T list
{
if(currnode!=NULL)
{
return currnode->data;
}
}
template
node
{
if(currnode!=NULL)
{
currnode=currnode->nextnode();
return currnode;
}
else
{
return NULL;
}
}
template
node
{
return currnode;
}
guanli.cpp
============================================
#include
#include
#include
#include"list.h"
struct file // file struct;
{
string filename;
string aboutfile;
string filepath;
};
struct getfile
{
string filename;
string aboutfile;
string filepath;
};
void main(void)
{
int ;
file myfile;
string space,findvalue;
ofstream writefile;
list
char ch,text;
int stringsize,i;
for(;;)
{
string linevalue; // jing zhi zai for(;;){} xuan huan zhong ding yi(1-3);
string openname("/home/c++/zuo2/jiru");// 2
ifstream readfile(openname.c_str(),ios::in);//3
string::size_type pos=0,pre=0;
getfile getmyfile;
cout< cout< cout< cout< cout< cin>>select;
switch(select)
{
case 1:
writefile.open("/home/c++/zuoping2/jiru",ios::out | ios::app);
if(!writefile)
{
cout< exit(1);
}
getline(cin,space,'n');
cout< getline(cin,myfile.filename,'n');
cout< getline(cin,myfile.aboutfile,'n');
cout< getline(cin,myfile.filepath,'n');
if(myfile.filepath[myfile.filepath.size()-1]=='/')
{
writefile<
else
{
myfile.filepath=myfile.filepath+"/";
writefile<
writefile.close();
break;
case 2:
if(!readfile)
{
cout< exit(-1);
}
cout< cin>>findvalue;
while(getline(readfile,linevalue,'n'))
{
pre=0;
pos=0;
//get file name;
pos=linevalue.find_first_of(';',pos);
getmyfile.filename=linevalue.substr(pre,pos-pre); ++pos;
pre=pos;
//get file description;
pos=linevalue.find_first_of(';',pos);
getmyfile.aboutfile=linevalue.substr(pre,pos-pre);
++pos;
pre=pos;
//get file path;
pos=linevalue.find_first_of(';',pos);
getmyfile.filepath=linevalue.substr(pre,pos-pre);
++pos;
pre=pos;
//get getmylist data for create list;
mylist.createlist(getmyfile);
}
mylist.athead();
while(mylist.Currnode()!=NULL)
{
if(mylist.Data().filename==findvalue) //when find file;
{
cout< cout< cout< cout< cout< cin>>ch;
if(ch=='y')
{
string filepath;
filepath=mylist.Data().filepath+mylist.Data().filename;
//erase char 'n';
for(i=0;i<=filepath.size();i++)
{
if(filepath[i]=='n')
{
filepath.erase(i,1);
}
}
//open file;
ifstream openfiles;
openfiles.open(filepath.c_str(),ios::in);
if(!openfiles)
{
cerr< exit(-1);
}
//read file context;
while(!openfiles.eof())
{
openfiles.get(text);
cout.put(text);
}
}
}
mylist.Next();
}
mylist.deletelist();
break;
case 3:
if(!readfile)
{
cerr< exit(-1);
}
while(getline(readfile,linevalue,'n'))
{
//get file name;
pos=linevalue.find_first_of(';',pos);
getmyfile.filename=linevalue.substr(pre,pos-pre); ++pos;
pre=pos;
//get file description;
pos=linevalue.find_first_of(';',pos);
getmyfile.aboutfile=linevalue.substr(pre,pos-pre);
++pos;
pre=pos;
//get file path;
pos=linevalue.find_first_of(';',pos);
getmyfile.filepath=linevalue.substr(pre,pos-pre);
++pos;
pre=pos;
//get getmylist data for create list;
mylist.createlist(getmyfile);
pos=0;
pre=0;
}
mylist.athead();
while(mylist.Currnode()!=NULL)
{
string filepath,descp;
cout< cout<
if(ch=='y')
{
filepath=mylist.Data().filepath+mylist.Data().filename;
pos=0;
for(i=0;i<=filepath.size();i++)
{
if(filepath[i]=='n')
{
filepath.erase(i,1);
}
}
cout<
openfiles.open(filepath.c_str(),ios::in);
if(!openfiles)
{
cerr< exit(-1);
}
while(!openfiles.eof())
{
openfiles.get(text);
cout.put(text);
}
}
else if(ch=='q')
{
break;
}
mylist.Next();
}
mylist.deletelist();
break;
case 5:
exit(0);
}
}
}
makefile
========================================================
guanli:guanli.o list.h node.h
g++ -g -I/home/c++/zuoping2/ guanli.cpp -o guanli
all:guanli
.PHONY:clean
clean:
guanli.o
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-985508/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一個最簡單的XML檔案(轉)XML
- 一個簡單的學生成績管理程式 (轉)
- 用java實現一個簡單的房屋管理程式。 (轉)Java
- 一個簡單的ipf配置檔案
- 一個簡單的解密程式 (轉)解密
- 一個簡單的Gradle指令碼檔案Gradle指令碼
- 一個簡單的愷撒加密程式 (轉)加密
- 檔案管理簡單介紹
- 用Vue編寫一個簡單的仿Explorer檔案管理器Vue
- 一個.Net簡單、易用的配置檔案操作庫
- [轉]:如何快速構建一個簡單的程式
- 一個簡單的學生成績管理程式(二叉樹實現) (轉)二叉樹
- 一個用Perl分析Apache Log的簡單程式(轉)Apache
- PDF轉文字檔案的最簡單方法
- [Vue]寫一個簡單的檔案上傳控制元件Vue控制元件
- 一個簡單的 SpringBoot 專案的 Dockfile 和 cicd 檔案配置Spring Boot
- 一個簡單的守護程式
- 建立一個簡單的小程式
- 一個簡單的Webmail系統 (轉)WebAI
- 一個簡單的考勤系統 (轉)
- 簡單好用的檔案管理器:zCommander for MacMac
- Go的第一個Hello程式 簡簡單單 - 快快樂樂Go
- Vue封裝一個簡單輕量的上傳檔案元件Vue封裝元件
- 登錄檔檔案修改開啟程式的簡單示例
- 將framework檔案放在一個單獨的檔案中Framework
- 第1個簡單java程式(轉)Java
- 專案管理成功之道:做好簡單的事情(轉)專案管理
- caj檔案怎麼轉換成word文件,簡單的檔案格式轉換教程
- 轉:一個在文字檔案搜尋指定字串的程式字串
- 一個簡單的反射連線程式反射線程
- 一個簡單的字串查詢程式字串
- 簡單管理的核心真理(轉)
- 一個microsoft的.exe程式檔案的啟動過程 (轉)ROS
- 一個簡單的選單按鈕的實現 (轉)
- 一個簡單的Json轉換器JSON
- 關於Java的RMI程式設計的一個簡單的例子 (轉)Java程式設計
- 使用 Fuse 和 java 17 編寫一個簡單的檔案系統Java
- 寫了一個簡單的Linux Shell用來下載檔案Linux