当从文本读入 有空格的字符串时,如何赋值给 string 变量?

文件内容为namemoney.txt,里面的内容总是一行字符串,一行整数成对出现,如下:LiMing2000HanMeiMei300现从该txt中读取这两对值赋给一个结构... 文件内容为 namemoney.txt,里面的内容总是 一行字符串,一行整数成对出现,如下:
Li Ming
2000
Han Mei Mei
300
现从该txt中读取这两对值赋给 一个结构数组的两个元素(均为结构):
struct donation
{
string name;
double money;
};
编码如下:
ifstream infile;
donation *ps = new donation[2];
int i = 0;
while(infile.good() && i<peonum)
{
infile>>ps[i].name;
cout<<"ps["<<i<<"].name: "<<ps[i].name<<endl;
infile>>ps[i].money;
cout<<"ps["<<i<<"].money: "<<ps[i].money<<endl;
i++;
}
但是 由于 文本文件中的 字符串 中有空格, 所以 infile>>ps[i].name 只能读取空格前的内容
但是 如果使用 getline(infile,ps[i].name); 则程序 打印结果显示 name字段 为空

求大神帮忙解答: 当从文本读入 有空格的字符串时,如何赋值给 string 变量
其中 peonum是一个 整形变量, 值为2 ,是已知变量,
再描述一下问题 , 就是:怎么从文本读入 有空格的字符串,并赋值给 string 变量? 用getline()吗?
展开
 我来答
百度网友5f3fd99
2012-11-16
知道答主
回答量:7
采纳率:0%
帮助的人:10.5万
展开全部
卖萌?!;
#include<string.h>
getline(cin,ps[0]);
getline(cin,ps[1]);
更多追问追答
追问
是从文本 读字符串的, 我声明了  ifstream的 对象 infile, 这里不能用 cin吧
追答
哦,ifstream是 cin 的派生,继承了cin的一切特性;可以用 getline(infile,ps[i]);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式