文件的读取和写入c++
2017-05-02 14:10
302 查看
文件的读取,S是一个学生链表 ,
typedef struct Student
{
string no; //学号
string name; //姓名
string cla; //班级
string sex;
//性别
string phone;
/手机号码
string sele;
//选修课程
}Student;
typedef struct stu{
Student data[M];
int len;
}stu;
/*读取文件*/
stu readFile(stu S){
ifstream stu("stu.txt");
/*ifstream 读取的文件*/
stu.seekg(ios::beg);
char s[100];
stu.getline(s,100,'\n');
while ( stu.getline(s,100,'\n') ){
S.len++;
char seg[] = "------";
/*分隔符这里为逗号comma,分隔符可以为你指定的,如分号,空格等*/
char charlist[50][50]={""}; /*指定分隔后子字符串存储的位置,这里定义二维字符串数组*/
int i =0;
char *substr= strtok(s, seg); /*利用现成的分割函数,substr为分割出来的子字符串*/
while (substr != NULL) {
strcpy(charlist[i],substr);
/*把新分割出来的子字符串substr拷贝到要存储的charlsit中*/
i++;
// cout<<substr<<endl;
/*读出所有数据*/
substr = strtok(NULL,seg);
}
//将数据写入链表中
S.data[S.len].no=charlist[0];
S.data[S.len].name=charlist[1];
S.data[S.len].cla=charlist[2];
S.data[S.len].sex=charlist[3];
S.data[S.len].phone=charlist[4];
S.data[S.len].sele=charlist[5];
// cout<<charlist[5]<<endl;
}
return S;
}
/*将链表写入文件中*/
void writeFile(stu S){
ofstream stud("stu.txt");
/*ofstream ..写入的文件*/
int a;
stud<<"学号------姓名------班级------性别------手机号码------选修课"<<endl;
for(a=1;a<=S.len;a++) {
stud<<S.data[a].no<<"------"<<S.data[a].name<<"------"<<S.data[a].cla<<"------"<<S.data[a].sex<<"------"<<S.data[a].phone<<"------"<<S.data[a].sele<<endl;
}
}
typedef struct Student
{
string no; //学号
string name; //姓名
string cla; //班级
string sex;
//性别
string phone;
/手机号码
string sele;
//选修课程
}Student;
typedef struct stu{
Student data[M];
int len;
}stu;
/*读取文件*/
stu readFile(stu S){
ifstream stu("stu.txt");
/*ifstream 读取的文件*/
stu.seekg(ios::beg);
char s[100];
stu.getline(s,100,'\n');
while ( stu.getline(s,100,'\n') ){
S.len++;
char seg[] = "------";
/*分隔符这里为逗号comma,分隔符可以为你指定的,如分号,空格等*/
char charlist[50][50]={""}; /*指定分隔后子字符串存储的位置,这里定义二维字符串数组*/
int i =0;
char *substr= strtok(s, seg); /*利用现成的分割函数,substr为分割出来的子字符串*/
while (substr != NULL) {
strcpy(charlist[i],substr);
/*把新分割出来的子字符串substr拷贝到要存储的charlsit中*/
i++;
// cout<<substr<<endl;
/*读出所有数据*/
substr = strtok(NULL,seg);
}
//将数据写入链表中
S.data[S.len].no=charlist[0];
S.data[S.len].name=charlist[1];
S.data[S.len].cla=charlist[2];
S.data[S.len].sex=charlist[3];
S.data[S.len].phone=charlist[4];
S.data[S.len].sele=charlist[5];
// cout<<charlist[5]<<endl;
}
return S;
}
/*将链表写入文件中*/
void writeFile(stu S){
ofstream stud("stu.txt");
/*ofstream ..写入的文件*/
int a;
stud<<"学号------姓名------班级------性别------手机号码------选修课"<<endl;
for(a=1;a<=S.len;a++) {
stud<<S.data[a].no<<"------"<<S.data[a].name<<"------"<<S.data[a].cla<<"------"<<S.data[a].sex<<"------"<<S.data[a].phone<<"------"<<S.data[a].sele<<endl;
}
}
相关文章推荐
- C++对txt文件的读取和写入
- c++写入oracle数据库blob字段,读取blob到本地文件
- C/C++文件——数据写入、读取
- c++对txt文件的读取与写入
- c++写入oracle数据库blob字段,读取blob到本地文件
- Unicode(UTF16)文件读写终极方案---用C++标准的字节流读取,转化为宽字符(wchar_t),再以字节流写入
- C++中txt文件读取和写入
- c++文件写入读取
- C++中Txt文件读取和写入
- C++中Txt文件读取和写入
- C语言和C++的文件读取、写入函数
- C++中Txt文件读取和写入
- c++某种文件格式的读取与写入范例[stl]
- C++实现文件写入和读取
- c++对txt文件的读取与写入
- C++中Txt文件读取和写入
- Unicode(UTF16)文件读写终极方案---用C++标准的字节流读取,转化为宽字符(wchar_t),再以字节流写入
- C++中Txt文件读取和写入
- C++中Txt文件读取和写入
- 简单文件操作(Linux下C++实现) 打开,读取 写入 关闭