首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

一个读txt的有关问题

2012-02-19 
一个读txt的问题我有个文本文件内容是这样的abcdefg.123,o-khijklmn.45678,h-i请问怎么读文件能分别把他们

一个读txt的问题
我有个文本文件
内容是这样的

abcdefg.123,o-k
hijklmn.45678,h-   i


请问怎么读文件能分别把他们存到各个变量里

假如我有三个字符串变量,aa,bb,cc

结果想要(循环第一次)
aa=abcdefg;
bb=123;
cc=o-k;              
(循环第二次)
aa=hijklmn;
bb=45678;
cc=h-   i;

请问怎么实现啊

这个问题很急,请各位帮帮忙了,谢了

[解决办法]
不用循环的:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList *t=new TStringList();
t-> LoadFromFile( "d:\\temp\\t.txt ");
char buff[100];
char a[10],b[10],c[10];
//第一次
strcpy(buff,t-> Strings[0].c_str());
char *p = strtok(buff, ",. ");
strcpy(a,p);
p=strtok(NULL, ",. ");
strcpy(b,p);
p=strtok(NULL, ",. ");
strcpy(c,p);
//显示结果
Memo1-> Lines-> Add(a);
Memo1-> Lines-> Add(b);
Memo1-> Lines-> Add(c);

//第二次
strcpy(buff,t-> Strings[1].c_str());
p = strtok(buff, ",. ");
strcpy(a,p);
p=strtok(NULL, ",. ");
strcpy(b,p);
p=strtok(NULL, ",. ");
strcpy(c,p);
//显示结果
Memo1-> Lines-> Add(a);
Memo1-> Lines-> Add(b);
Memo1-> Lines-> Add(c);
}
[解决办法]
AnsiString strText = "abcdefg.123,o-k ";

AnsiString str1 = strText.SubString(1, strText.Pos( '. ')-1);
strText = strText.SubString(strText.Pos( '. ')+1, strText.Length());

AnsiString str2 = strText.SubString(1, strText.Pos( ', ')-1);
strText = strText.SubString(strText.Pos( ', ')+1, strText.Length());

AnsiString str3 = strText;

热点排行