
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函数!
我想要的就是实现方法 展开
比如列头为 用户名、密码
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函数!
我想要的就是实现方法 展开
展开全部
直接对文件读取也是可以的。
写了一点代码,供参考:
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");
}
展开全部
先找到空格的位置比如为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);
这样的话用户名和密码分别取出了
以空格为界线,把整个字符分成两个小字符串
比如这是一行数据:Cont_File
// 获得整个字符串长度和空格位置
int iLen = Cont_File.GetLength();
int iSpaceIndex = Cont_File.Find(' ');
// 获得空格左边字符串(也就是你的用户名)
sName = Cont_File.Letf(iSpaceIndex);
// 获得空格右边的字符串(也就是你的密码)
sPwd = Cont_File.Right(iLen - iSpaceIndex - 1);
这样的话用户名和密码分别取出了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询