一个读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;