c++怎么把结构体中的信息写入文件?
#include <iostream>#include <fstream.h>
#include <string>
struct oil
{
std::string name;
std::string uid;
char sex;
}; //定义一个结构体
void main()
{
oil xjy;
std::cout<<"姓名:";
std::cin>>xjy.name;
std::cout<<"uid:";
std::cin>>xjy.uid;
std::cout<<"sex:";
std::cin>>xjy.sex;
} //从键盘对结构体进行赋值
接下来我想吧main中赋的值存储到文件中,请问该怎么做呢?
void recard
{
fstream fp("test.txt",ios::in|ios::out|ios::app)
fp<<xjy.name<<xju.uid<<xjy.sex;
} //这是我自己试的方法,不过是错的,系统编译不了。所以就想来问问该怎么做呢?想了一下午,头都想烂了,去网上查出来的结果都看不太懂。有没有大神来指导下。
发帖子还加育碧呀。哈哈。
问题求解答 错误很多,
1 在C++中要么把所有的std全部放到前面 using namespace std; 或者要加每个std::在前边
2 在C++中直接写Class就可以了,struct是c的写法,虽然兼容,但不推荐
#include <iostream>
#include <fstream>
#include <string>
class oil
{
public:
std::string name;
std::string uid;
char sex;
};
void recard(oil &xjy)
{
std::fstream outfile;
outfile.open("test.txt",std::ios::in|std::ios::out|std::ios::app);
outfile << xjy.name << xjy.uid << xjy.sex << "\n";
outfile.close();
}
//定义一个结构体
void main()
{
oil xjy;
std::cout<<"姓名:";
std::cin>>xjy.name;
std::cout<<"uid:";
std::cin>>xjy.uid;
std::cout<<"sex:";
std::cin>>xjy.sex;
recard(xjy);
} newu 发表于 2019-6-27 20:15
错误很多,
1 在C++中要么把所有的std全部放到前面 using namespace std; 或者要加每个std::在前边
谢谢大神指点,还想问一下就是最后一行 recard(xjy) 中的“xjy“ 和 数组里面的数组名 一样,都是表示的这个东西首个元素的地址吗? 有风轻语 发表于 2019-6-28 17:15
谢谢大神指点,还想问一下就是最后一行 recard(xjy) 中的“xjy“ 和 数组里面的数组名 一样,都是表示 ...
对的,可以这么理解,但在C++中我函数用的& 符号叫做引用,可以理解为一个别名
函数参数里面的名字可以随便改,无所谓的,只是你是这样写的,我方便改才那样写的
页:
[1]