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

我新建了以个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函数!
我想要的就是实现方法

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

写了一点代码,供参考: 

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"); 

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-13
先找到空格的位置比如为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);

这样的话用户名和密码分别取出了本回答被提问者采纳

用vc++逐行读取文本文件txt里面的数据,并且复制给数组
如果数据都是整数的话这个代码应该没问题了

在VC中如何逐行读取TXT中的内容,字符和整型,浮点型混合的那种。
printf("%c %d %f\\n",a,b,c);}

VC++求助!!CStdioFile按行读文件出错
1.代码中缺少是否打开文件的判断,有可能打开文件失败。2.注意此处待读文件的路径为相对路径,txt文件需要放在工程目录下面。请设置断点后,单步调试确认。

c语言逐行读取文件中的数字并相加
…\/\/#include "stdafx.h"\/\/vc++6.0加上这一行.#include "stdio.h"#include "stdlib.h"#include "string.h"int main(void){ double sum=0,up; int hm; char tmp[6]="",x[1000]; FILE *fp; if((fp=fopen("123.txt","r"))==NULL){ printf("Open the file...

谁知道用VC++怎么调用csv文件来画图啊!!帮帮我啊!
比如来自一条记录的内容 ItemFieldStr="I1,I2,I4";每个项目间的分割字符 divider 为','则函数最终得到的是由单独的项目"I1" "I2" "I4"组成的字符串数组CStringArray \/ { CStringArray *SingleItemArray=new CStringArray ;\/\/由每个单独项目组成的数组 \/\/CStringArray *tempArray=new CStringArray ;...

c语言背景颜色的头文件?
窗口定义之后, 用有关窗口的输入输出函数就可以只在此窗口内进行操作而不超 出窗口的边界。window()函数的调用格式为:void window(int left, int top, int right, int bottom);该函数的原型在conio.h 中 (关于文本窗口的所有函数其头文件均为conio.h,后面不再说明)。 函数中形式参数(int left, ...

相似回答
大家正在搜