读书人

将txt文件中内容显示到文本框中(急)

发布时间: 2012-03-03 15:33:03 作者: rapoo

将txt文件中内容显示到文本框中(急...在线等)
我有一个answer.txt文件,里面内容是
#亮亮
#自我介绍, 我叫亮亮
#我的朋友, 她叫月月
(不止这三句话,但是每句话都以“#”开头)
我想把这些句子显示到一个文本框中,显示的形式是
1.亮亮
2.自我介绍, 我叫亮亮
3.我的朋友, 她叫月月

answer_txt.Open( "answer.txt ",CFile::modeRead);// 打开answer.txt文本
answer_txt.ReadString(temp);//将answer.txt内容暂存到temp中
/*去掉“#”*/
char *b;
char * sz = temp.GetBuffer(temp.GetLength());
char * p = sz;
while((b=strchr(p, '# '))!=NULL)//找 '# '在字符串中第一次出现的位置
{
strcpy(p,b+1);//将*b1拷贝到*p1中
p=strchr(p, '\n ');//找 '\n '在字符串中第一次出现的位置
if(p == NULL)
break;
p++;
}
CString str(sz);//去掉“#”后的数据存在sz中,并将sz转成str(cstring型)
answer_txt.Close();//关闭answer.txt
/*将str中内容按行显示到文本框中*/
while(str) //按行读取 answer.txt数据answer_temp.ReadString(strTemp1)
{
_itoa(i,buf,10);//十进制整型转换为字符串
str1+=(CString)buf+ ". "+str+ "\r\n ";//添加序号1.2.~~~~~n.
i++;
}
SetDlgItemText(IDC_ANSWER,str1);// 输出str1内容到文本框,IDC_ANSWER文本框ID
str1.Empty();//释放str1

[解决办法]
cstdiofile file;
file.open( "answer.txt ",cfile::moderead);
cstring str = _T( " ");
file.readstring(str);
str = str.TrimLeft( "# ");
m_text = str;
while(file.readstring(str))
{
str.replace( "# ", "\r\n ");
m_text += str;
}
updatedata(false);

//m_text是文本框捆绑的cstring变量
[解决办法]
CStdioFile file;
file.Open( "answer.txt ",CFile::modeRead);

int nCount=0;
m_strEdit= " ";
CString str,strLine;
while(file.ReadString(strLine))
{
if(strLine.Left(1) == "# ")
{
nCount++;
str.Format( "%d. ",nCount);
strLine.Replace( "# ",str);
}
m_strEdit += strLine+ "\r\n ";
}
file.Close();
UpdateData(FALSE);

=====
m_strEdit为文本框关联的Value型变量

读书人网 >VC/MFC

热点推荐