txt中数据:123,456,789,(不止这三个)
在Edit编辑框中显示的效果:
1.123
2.456
3.789
.
.
.
我的程序:
cmd_txt.Open("cmd.txt",CFile::modeRead);
m_yy="";//m_yy是文本框捆绑的cstring变量
int i=1;
CString str_cmd,str1;
while(cmd_txt.ReadString(str1))
{
str1.Insert(0,"1.");
if (str1.Left(1)=="1")
{
i++;
str_cmd.Format("%d.",i);
str1.Replace(",","\r\n"+str_cmd);
}
m_yy += str1+"\r\n";
}
cmd_txt.Close();
UpdateData(FALSE);
但是显示的结果是
1.123
2.456
2.789
请帮小弟改一改程序,指点一下!!!
在Edit编辑框中显示的效果:
1.123
2.456
3.789
.
.
.
我的程序:
cmd_txt.Open("cmd.txt",CFile::modeRead);
m_yy="";//m_yy是文本框捆绑的cstring变量
int i=1;
CString str_cmd,str1;
while(cmd_txt.ReadString(str1))
{
str1.Insert(0,"1.");
if (str1.Left(1)=="1")
{
i++;
str_cmd.Format("%d.",i);
str1.Replace(",","\r\n"+str_cmd);
}
m_yy += str1+"\r\n";
}
cmd_txt.Close();
UpdateData(FALSE);
但是显示的结果是
1.123
2.456
2.789
请帮小弟改一改程序,指点一下!!!
解决方案 »
- 怎么把程序启动写入注册表?
- 如何设置断点让程序在i这个变量变成5时停下来?
- 一个数据库的简单问题,很菜鸟的!!求助!!
- 怎样将窗口的指针转化为m_hWnd句柄?
- 程序如何为对话框中的CEdit控件增加WS_VSCROLL属性?
- 我用InstallShield制作的安装程序,在某些98的机器上安装出现致命错误!!急!!
- 请问又没有办法恢复格式化过的磁盘上的文件?紧急!!!!
- 怎样取选中的列表控件的项的内容,有会这方面的同志快教我!!
- VC下如何获得局域网内指定IP的MAC地址?
- 咨询一个VC运行效率的问题
- 请教关于校园网内两个局域网间通信的问题
- ULONGLONG to CString And CString to ULONGLONG 共三问
m_yy="";//m_yy是文本框捆绑的cstring变量
int i=1;
CString str_cmd,str1;
while(cmd_txt.ReadString(str1))
{
str_cmd.format("%d.",i);
str_cmd += str1;
m_yy += str_cmd+"\r\n";
i++;
}
cmd_txt.Close();
UpdateData(FALSE);
结果是:1.123,456,789,
我改了一下程序:
cmd_txt.Open("cmdtemp.txt",CFile::modeRead);
m_yy = "";
int i=1;
CString str1,str_cmd;
while(cmd_txt.ReadString(str1))
{
str_cmd.Format("%d.",i);
str_cmd += str1;
i++;
}
str_cmd.Replace(",","\r\n");
m_yy += str_cmd+"\r\n";
cmd_txt.Close();
UpdateData(FALSE);但是文本框显示的结果是:
1.123
456
789
只能实现每隔遇到逗号就以换行的形式显示到文本框中
CString str="123,456,789"; //注意分割完成后,str会发生变化
char *p=","; //以空格作为分割字符
char *Temp;
Temp=new char[str.GetLenth()+1];
strcpy(Temp,str);
str=strtok(Temp,p);
int n=1;
while(str!="")
{
if(szResult.IsEmpty())
{
sszResult+=str.Format("%d.%s",n,str);
}
else
szResult+="\n"+str.Format("%d.%s",n,str);
str=strtok(NULL,p);
n++;
}
delete Temp;
AfxMessageBox(szResult); //看看结果
1.(乱码)
1.(乱码)
2.2.2
3.3.3
CString str="123,456,789"; //注意分割完成后,str会发生变化
char *p=","; //以空格作为分割字符
char *Temp;
Temp=new char[str.GetLenth()+1];
strcpy(Temp,str);
str=strtok(Temp,p);
int n=1;
while(str!="")
{
CString s;
if(szResult.IsEmpty())
{
s.Format("%d.%s",n,str);
}
else
s.Format("\n%d.%s",n,str);
szResult+=s;
str=strtok(NULL,p);
n++;
}
delete Temp;
AfxMessageBox(szResult); //看看结果
用你的程序,能正确显示结果
1.123
2.456
3.789
但是,当我让结果显示到Edit编辑框中时,显示的结果是
1.1232.4563.789
改成s.Format("\r\n%d.%s",n,str);问题解决了!!感谢两位的帮助!!再次感谢!!