端午节求助 !做出来了请大家吃粽子:)

tzp615 2006-05-31 04:24:07
做一个用户登陆验证的界面:
想要先一行一行的读出文本文件的内容,
文本的数据格式 :
cl^陈玲^MEMBA^ACDE
cd^陈单^A^ACDE
WD^王董^A^ACDE

每次读一行,然后把这行"姓名"放入某个变量内,然后送到 IDC_COMBO控件中去 然后用edit控件的内容和ini中的密码相比较 请问如何解决啊?

我的代码如下 可是编译通不过

CString ls_password;

GetDlgItemText(IDC_EDIT1, ls_username);


CStdioFile file;
CString path = "c:\\myfile.txt";

if(!file.Open(path, CFile::modeRead))
{
AfxMessageBox("不能打开文件!");
return;
}
else
{
CString strtemp;
do
{
file.ReadString(strtemp);//

IDC_COMBO1.addstring (strtemp)//这里想把读到的strtemp添加到IDC_COMBO1控件中 不知道该怎么写?

} while(!strtemp.IsEmpty());

}

}
//下面应该是密码验证了 ,不知道如何做验证
.......

...全文
220 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tzp615 2006-06-01
  • 打赏
  • 举报
回复
还是不行 这个编译就是通不过 麻烦哪个放个完整点的代码吧 谢谢大家了

~~ 真的郁闷了!
chogo 2006-06-01
  • 打赏
  • 举报
回复
GoldenSword(金错刀) ( ) 信誉:109 2006-05-31 19:34:00 得分: 0


((CComboBox*)GetDlgItem(IDC_COMBO1))->addstring (strtemp);



Top


呵呵 已经说出来了。
GoldenSword 2006-05-31
  • 打赏
  • 举报
回复
((CComboBox*)GetDlgItem(IDC_COMBO1))->addstring (strtemp);
clever101 2006-05-31
  • 打赏
  • 举报
回复
刚刚在blog中写了篇相关文章 《在VC++应用程序中读取文本数据》 ,你可以参考一下:

http://blog.csdn.net/clever101/archive/2006/05/22/749170.aspx

测试九宸 2006-05-31
  • 打赏
  • 举报
回复
可以1行1行的读数据:
C++的ifstream类中的getline()函数就有这个功能


#include "fstream.h"

char linedata[MAX_PATH];
ifstream in("filename.txt");
while(!in.eof())
{
in.getline(linedata,MAX_PATH,'\n');//循环读,每次一行
  //TODO: 把读入的一行进行处理。。

}
in.close;

而且,in.getline()这个函数的第三个参数就是指定的结束符号,你可以把它设置为"^",按照你给的格式就可以一个一个字符串的读出来了。

==========================================
欢迎光临我的论坛:http://gameheaven.111.tofor.com/bbs
cpio 2006-05-31
  • 打赏
  • 举报
回复
好像不能一行行地读取吧

你可以全读出来

然后用换行符"\r\n"拆分

这样可以行到多行数据

再对每行用"^"进行拆分,拆分出来的第1个数据就是姓名,0为拼音

附拆分函数:


void Split(CString &str, CStringArray &strArray, CString strSep)
{
if (str.IsEmpty())
{
strArray.Add("");
return;
}

CString strTemp(str);

int nPos = 0;
int nLenSep = strSep.GetLength();
while (nPos > -1)
{
nPos = strTemp.Find(strSep);
if (nPos > -1)
{
strArray.Add(strTemp.Left(nPos));
strTemp = strTemp.Right(strTemp.GetLength() - nLenSep - nPos);
}
else
{
strArray.Add(strTemp);
return;
}
}
}
anothervip 2006-05-31
  • 打赏
  • 举报
回复
强制转换GetDlgItem返回的指针
anothervip 2006-05-31
  • 打赏
  • 举报
回复
AddString()
tzp615 2006-05-31
  • 打赏
  • 举报
回复

.\LoginFaceDlg.cpp(81) : error C2039: 'addstring' : is not a member of 'CWnd'
编译通不过啊 我是在VS2005下编译的
ouyh12345 2006-05-31
  • 打赏
  • 举报
回复
GetDlgItem(IDC_COMBO1)->addstring (strtemp);
密码验证:
把从ini读出的密码解密,然后调用CString类的Compare
syy64 2006-05-31
  • 打赏
  • 举报
回复
GetDlgItem(IDC_COMBO1).addstring (strtemp);

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧