VC++中关于读取文本文件内容然后通过列表控件逐行输出的问题

我新建了以个MFC的窗口程序,添加了列表控件CListCtrl,设置了列头比如列头为用户名、密码m_List.InsertColumn(0,"用户名",LVCFMT_LE... 我新建了以个MFC的窗口程序,添加了列表控件CListCtrl,设置了列头

比如列头为 用户名、密码

m_List.InsertColumn(0,"用户名",LVCFMT_LEFT,160);
m_List.InsertColumn(1,"密码",LVCFMT_LEFT,200);

然后有一个txt文件用来保存用户名和密码。每行一个
username1 password1
username2 password2
username3 password3
username4 password4
username5 password5
用户名和密码之间用空格隔开

要达到的效果是这样的。
打开窗口后初始化控件及列头信息这些我都做好了,
要做的是读取txt文件,逐行读取,因为是每行一个账号的。

但问题是每行一个账号保存的是用户名和密码,中间使用空格来隔开,
那我该如何判断每行当中哪个是用户名哪个是密码,并把用户名和密码插入到列表控件的相应位置呢?

也就是读取文件后通过while把账号的信息插入到列表控件的相应的列中!

逐行读取的部分我已经搞懂了,关键是把行内的用户名和密码插入到相应的列,因为是空格隔开的!
思路是这样的,但关键是不不知道怎么实现,VC下好像没有PHP当中的explode函数!
我想要的就是实现方法
展开
 我来答
zhjiemm
2009-05-13 · TA获得超过2643个赞
知道大有可为答主
回答量:1834
采纳率:75%
帮助的人:755万
展开全部

直接对文件读取也是可以的。 

写了一点代码,供参考: 

a.txt 是你的文件(用来保存用户名和密码) 

代码中输出是为了验证读取的正确性。 

#include<iostream> 

#include<string> 

#include<fstream> 

using namespace std; 

main() 

string username,password; 

ifstream read; 

read.open("a.txt"); 

while(read>>username>>password) 

cout<<username<<" "<<password<<endl; 

read.close(); 

system("PAUSE"); 

}

C_LIFEI
2009-05-13 · TA获得超过800个赞
知道小有建树答主
回答量:431
采纳率:0%
帮助的人:360万
展开全部
先找到空格的位置比如为iSpaceIndex;
以空格为界线,把整个字符分成两个小字符串

比如这是一行数据:Cont_File
// 获得整个字符串长度和空格位置
int iLen = Cont_File.GetLength();
int iSpaceIndex = Cont_File.Find(' ');
// 获得空格左边字符串(也就是你的用户名)
sName = Cont_File.Letf(iSpaceIndex);
// 获得空格右边的字符串(也就是你的密码)
sPwd = Cont_File.Right(iLen - iSpaceIndex - 1);

这样的话用户名和密码分别取出了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式