返回信息流for example,
通讯录中有一行个人的信息,姓名啊地址啊什么的,怎样从这个TXT文件中读取这一行,然后分别赋给结构体中指定的变量呢~~~
菜鸟求助,谢谢大家~
这是一条镜像帖。来源:北邮人论坛 / cpp / #7401同步于 2008/5/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[求助]:怎样从文本文件中读取一行数据 赋给一个结构体
manaburn
2008/5/24镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
fgets?
【 在 manaburn (manaburn) 的大作中提到: 】
: for example,
: 通讯录中有一行个人的信息,姓名啊地址啊什么的,怎样从这个TXT文件中读取这一行,然后分别赋给结构体中指定的变量呢~~~
: 菜鸟求助,谢谢大家~
: ...................
参考fstream的用法
【 在 manaburn (manaburn) 的大作中提到: 】
: for example,
: 通讯录中有一行个人的信息,姓名啊地址啊什么的,怎样从这个TXT文件中读取这一行,然后分别赋给结构体中指定的变量呢~~~
: 菜鸟求助,谢谢大家~
: ...................
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
int main(){
ifstream in("xxx.txt");
string line;
while(getline(in, line))
{ 赋值}
}
就是用fgets或者fsanf或者fstream啦
LZ的这个应该是从文本文件读入,而不是从数据文件读入,所以按字节读的必挂。
【 在 mengtianmo 的大作中提到: 】
: 直接从文件读出字节相当的数据,拷贝给结构体就行了,要求存储的结构和
: 结构体一一对应
问问大家,赋值的时候
是读出整行数据后直接赋给结构体?还是在这一行中,按照字节读取,然后分别放入结构体的各个变量中呢?
如果是整体赋给结构体的话,结构体又是怎样解决字节分配的问题呢
谢谢大家的指点,请大家看看这样行不行
string line;
while(getline(in, line))
{
istringstream sin(line);
sin>>.....>>......>>.......(结构体的各个变量)
}
【 在 manaburn 的大作中提到: 】
: 问问大家,赋值的时候
: 是读出整行数据后直接赋给结构体?还是在这一行中,按照字节读取,然后分别放入结构体的各个变量中呢?
: 如果是整体赋给结构体的话,结构体又是怎样解决字节分配的问题呢
读的是行的话 就整行赋值 把每行看成一个string变量
在结构体里定义一个string就行了 struct1.str=line