社区
C++ Builder
帖子详情
文件读取的问题
borlandme
2003-10-17 06:43:10
如何把下列文件中的内容一条一条读取出来并显示在不同控件内
yb.dat
111111,12,36
222222,3698,9
333333,54,857
例如:把111111在Edit1->Text显示
12在Edit2->Text显示
36在Edit3->Text显示
...全文
34
11
打赏
收藏
文件读取的问题
如何把下列文件中的内容一条一条读取出来并显示在不同控件内 yb.dat 111111,12,36 222222,3698,9 333333,54,857 例如:把111111在Edit1->Text显示 12在Edit2->Text显示 36在Edit3->Text显示
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
borlandme
2003-10-21
打赏
举报
回复
感谢所有热心参与的同志
我不懂电脑
2003-10-18
打赏
举报
回复
没看清题目
新参考代码
TStringList *StringList = new TStringList();
TStringList *StringList1 = new TStringList();
StringList->LoadFromFile("xxx.txt");
StringList->Delimiter = ','
StringList->DelimitedText = = StringList->Strings[0];
Edit2->Text = StringList1->Strings[0];
Edit3->Text = StringList1->Strings[1];
BoyMgl
2003-10-18
打赏
举报
回复
TStringList的功能十分强大要好好利用!:)
ljianq
2003-10-18
打赏
举报
回复
TStringList *StringList = new TStringList();
StringList->LoadFromFile("yb.dat");
AnsiString s=StringList->Strings[0]; //第一行
int pos=s.AnsiPos(",");
Edit1->Text = s.SubString(1,pos-1);
pos=s.Delete(1,pos).AnsiPos(",");
Edit2->Text = s.SubString(1,pos-1);
Edit3->Text = s.Delete(1,pos);
yjy1001
2003-10-18
打赏
举报
回复
ljianq(泉深水清) 方法可行
使用 TStringList 流可以实现对文本文件操作
而字符串操作 也很容易了
多练练字符串的操作,以后 就容易了。
aliker
2003-10-18
打赏
举报
回复
意思没弄清楚!
GeoPhoenix
2003-10-17
打赏
举报
回复
告诉你我用的一个简单方法,先用写字板将‘,’替换成空格,再按照正常的整形数读取就可以了,这样程序的代码非常简单,为了处理一个‘,‘,需要费很多代码,并且也不是必须的,我就是这么干的
我不懂电脑
2003-10-17
打赏
举报
回复
TStringList *StringList = new TStringList();
StringList->LoadFromFile("xxx.txt");
Edit1->Text = StringList->Strings[0];
Edit2->Text = StringList->Strings[1];
Edit3->Text = StringList->Strings[2];
myredsun
2003-10-17
打赏
举报
回复
char buffer[50];
char ls_storeid[2];
char ls_goodsid[5];
char ls_color[3];
char ls_size[4];
char ls_end[6];
char ls_barcode[15];
AnsiString ls_filename;
char lc_key = VK_RETURN;
AnsiString ls_id;
//打开选择文件对话框
if (OpenDialog1->Execute())
ls_filename = OpenDialog1->FileName;
else
return;
//打开文件
mi_Row = 0;
FILE *dictfd = NULL;
if((dictfd = fopen(ls_filename.c_str(), "r")) == (FILE *)NULL)
{
ls_filename = "不能打开文件:" + ls_filename + ",\r\n请确认存在该文件。";
MessageBox(this->WindowHandle,ls_filename.c_str(),"系统提示",MB_ICONWARNING);
return;
}
while(fgets(buffer, sizeof(buffer), dictfd) != (char *)NULL)
{
mi_Row++;
/* Skip empty space */
if(*buffer == '#' || *buffer == '\0' || *buffer == '\n')
{
continue;
}
if( sscanf(buffer, "%s%s%s%s%s%s", ls_goodsid, ls_color,ls_size, ls_end,ls_storeid,ls_barcode) < 6)
{
ls_filename = "文件:" + ls_filename + "第" + IntToStr(mi_Row) + "行存在非法的数据格式。";
MessageBox(this->WindowHandle,ls_filename.c_str(),"系统提示",MB_ICONINFORMATION);
return;
}else
{
buffer[0] = '\0';
Edit1->Text = ls_barcode;
Edit1KeyPress(Sender,lc_key);
}
}
if ( dictfd != NULL )
fclose(dictfd);
borlandme
2003-10-17
打赏
举报
回复
这样的文件为什么不能按格式读取呐 代码如下:
FILE *fp=fopen("yb.dat","r");
char *name= new char;
int qian,hou;
if(!feof(fp))
{
fscanf(fp,"%s,%d,%d",name,&qian,&hou);
Edit1->Text=name;
Edit2->Text=IntToStr(qian);
Edit3->Text=IntToStr(hou);
}
delete name;
wuxq7311
2003-10-17
打赏
举报
回复
做一个判断不就行了吗??
打开文件后
for(int i=0; i < file->size; i ++)
{
file->Read(buf, 1);
if(buf == ",")
{
自己加
}
}
框架搭建内容合成的描述
框架搭建内容合成的描述
【Godot4自学手册】第三十八节给游戏添加音效
【Godot4自学手册】第三十八节给游戏添加音效
人工智能BBSO算法,MATLAB实现,很基本的人工智能算法,里面有很多源程序
人工智能BBSO算法,MATLAB实现,很基本的人工智能算法,里面有很多源程序 (Artificial intelligence bbso)
文件
列表: BBSO\alea.m (99, 2013-11-02) BBSO\alea_normal.m (532, 2013-11-02) BBSO\alea_sphere.m (483, 2013-11-02) BBSO\BBSO.m (5647, 2015-05-03) BBSO\BSO.asv (3521, 2013-11-02) BBSO\calef.m (375, 2014-02-08) BBSO\cauchy.txt (1282, 2013-11-02) BBSO\cauchy.zip (9607, 2013-11-02) BBSO\cauchycdf.m (1225, 2013-11-02) BBSO\cauchyfit.m (5565, 2013-11-02) BBSO\cauchyinv.m (1379, 2013-11-02) BBSO\cauchypdf.m (1221, 2013-11-02) BBSO\cauchyr
人工智能神经网络.ppt
人工智能神经网络.ppt
Free Download Manager CRX 3.0.59 for Chrome.crx
Free Download Manager 谷歌浏览器插件
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章