首先有个结构体:
struct ST
{
string name;
int age;
int score;
};
我要实现的功能是将在win32控制台应用程序中,分别对这三个对象赋值,然后再将其保存在一个文件中,如txt文件,后面再实现一个程序,读取文件中的值,并显示。
谢谢!最好给出完整的程序,我刚刚接触不久,底子差。
程序运行完后,依次得到各值,存入了一个txt文件中,如 :里面存的数据是这样 NAME 19 100
程序运行完了,再次打开后,怎样将这些数据赋值给一个对象呢?比如将NAME的属性设为19 100,然后用这些初始值进行后续的操作~ 简单的说 就是将结构体中的数据实时保存下来,下次再开始的时候,再从上次的数据中开始!
非常谢谢你!回答得很好!不过还要加个头文件 #include 不然会出错 ,我还想继续请教你如下问题:1.如果我想输入的不是一个人的资料,该怎么做?比如 要录入很多人的姓名 年龄 分数 2.读取文件的时候,怎样读取多个数据,比如将文件中的所有人的资料全都显示出来
希望你抽出时间帮我解答~
使用容器来保存 多个数据, 容器可以是 数组, 也可以是STL容器.
#include
using namespace std;
// 定义略
int main(){
ST tmp; // 临时变量.
vector stVec; // 储存ST的容器;
ifstream ifs("D:\\32.txt"); // 文件流
while(ifs >> tmp) // 读取数据到tmp
stVec.push_back(tmp); // push_back函数添加tmp中数据到容器中
// 读取完 全部的数据后, 流 会把自己的状态设置为false, 所以while循环会自动停止.
for(int i = 0; i < stVec.size(); ++i)
cout << stVec[i] << endl; // 循环打印 全部数据到控制台
ofstream ofs("asd.txt"); // 文件输出流
for(int i = 0; i < stVec.size(); ++i)
ofs << stVec[i] << endl; // 循环输出 全部数据到ofs这个文件中
return 0;
}
C++文件流和 一般的标准IO流cout和cin用法几乎完全一样, 只是读取和输出的目标不是控制台, 而是文件.