如何資料比對 |
尚未結案
|
mirood
一般會員 發表:10 回覆:27 積分:7 註冊:2007-02-28 發送簡訊給我 |
小弟利用TStringList讀入檔案,
但是想要比對讀入的檔案是否重複,
總是找不到程式的頭緒?
是否有哪位大大可以給我一些提示,謝謝!! txt檔案資料如下:
pline 91.892792,61.844597 94.216019,56.235802 85.415108,34.988522 c
move l 0,0,0 0,0,0.500000
pline 89.454491,77.483078 85.948143,85.948143 64.700867,94.749062 c
move l 0,0,0 0,0,0.500000
pline 87.549881,67.453392 92.196342,56.235802 86.310211,42.025440 c
move l 0,0,0 0,0,1.000000
pline 94.388985,70.446159 87.376297,87.376297 73.165939,93.262421c
move l 0,0,0 0,0,1.000000 //小弟想將move l 0,0,0 0,0,0.500000及move l 0,0,0 0,0,1.000000前一行(pline...c)的資料個別取出。
OpenDialog1->defaultExt = ".txt";
OpenDialog1->Filter = "test (*.txt)|*.txt";
OpenDialog1->Options << ofOverwritePrompt << ofFileMustExist; if (OpenDialog1->Execute())
{
int i;
char z1;
//int c=0;
//float all;
String a;
float z[10][10];
//char sbuf[8000];
TStringList *Tempfile=new TStringList;
Tempfile->LoadFromFile(OpenDialog1->FileName);
//Tempfile->LoadFromFile("D:\\test.scr");
i=Tempfile->Count; for(i=0;i
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
你的問題,問了兩個
1.比對 用 TMemoA.loadfromfile("檔案一"); TMemoB.loadfromfile("檔案二"); 可以 TMemoA.Text = TMemoB.Text <-- 只有 Delphi 可以這樣用,C 要乖乖用比較函式 或是用 strcmp 之類的,一下可以比整個檔案 不過這不是唯一方法,只是一個簡單的笨方式 2.找東西,請用「關鍵字」,加上 pos 函數 要取出 pline... 該行,請找出 pline 的位置,做為「頭」,以 move 的位置,做為「尾」 將頭尾複製出來,即可 使用的函數只有兩個 pos() 與 memcpy() |
mirood
一般會員 發表:10 回覆:27 積分:7 註冊:2007-02-28 發送簡訊給我 |
pline 91.892792,61.844597 94.216019,56.235802 85.415108,34.988522 83.091873,29.379723 c
move l 0,0,0 0,0,0.500000
//為一組資料.....................................
pline 89.454491,77.483078 85.948143,85.948143 64.700867,94.749062 c
move l 0,0,0 0,0,0.500000
//為另一組資料..................................... 因為上面兩組資料有共同的move l 0,0,0 0,0,0.500000,所以我想利用比對的方式,將
pline 91.892792,61.844597 94.216019,56.235802 85.415108,34.988522 83.091873,29.379723 c
存入Memo1中,另一組
pline 89.454491,77.483078 85.948143,85.948143 64.700867,94.749062 c
存入Memo2中,可是我利用strcmp可以比對,但是字串判別不是想看到的結果,程式哪裡有問題呢?
麻煩大大能幫我看看! void __fastcall TForm1::Button1Click(TObject *Sender)
{
OpenDialog1->DefaultExt = ".txt";
OpenDialog1->Filter = "test (*.txt)|*.txt";
OpenDialog1->Options << ofOverwritePrompt << ofFileMustExist; if (OpenDialog1->Execute())
{
int i,c;
char test1[500],test2[500];
//char sbuf;
TStringList *Tempfile=new TStringList;
Tempfile->LoadFromFile(OpenDialog1->FileName);
i=Tempfile->Count; for(i=0;i
|
mirood
一般會員 發表:10 回覆:27 積分:7 註冊:2007-02-28 發送簡訊給我 |
發現可以區分出來~
但是只能找前兩筆資料~
是不是搜尋還不夠完整~
TXT資料如下~
pline 91.892792,61.844597 94.216019,56.235802 85.415108,34.988522 83.091873,29.379723 61.844597,20.578812 c
move l 0,0,0 0,0,0.500000
pline 89.454491,77.483078 85.948143,85.948143 64.700867,94.749062 56.235802,98.255409 c
move l 0,0,0 0,0,0.500000
pline 87.549881,67.453392 92.196342,56.235802 86.310211,42.025440 81.663750,30.807846 67.453392,24.921724 56.235802,20.275259 c
move l 0,0,0 0,0,1.000000
pline 94.388985,70.446159 87.376297,87.376297 73.165939,93.262421 56.235802,100.275108 42.025440,94.388985 25.095303,87.376297 c
move l 0,0,0 0,0,1.000000
pline 83.206963,73.062195 90.176659,56.235802 87.205322,49.062363 80.235626,32.235970 c
move l 0,0,0 0,0,1.500000
pline 99.323479,63.409237 88.804443,88.804443 81.631004,91.775780 56.235802,102.294815 c
move l 0,0,0 0,0,1.500000
pline 78.864052,78.670990 88.156982,56.235802 88.100433,56.099285 78.807503,33.664093 c
move l 0,0,0 0,0,2.000000
pline 104.257973,56.372318 90.232590,90.232590 90.096077,90.289139 c
move l 0,0,0 0,0,2.000000 <textarea class="cpp" rows="10" cols="60" name="code">
void __fastcall TForm1::Button1Click(TObject *Sender)
{
OpenDialog1->DefaultExt = ".txt";
OpenDialog1->Filter = "test (*.txt)|*.txt";
OpenDialog1->Options << ofOverwritePrompt << ofFileMustExist; if (OpenDialog1->Execute())
{
int i,c;
char test1[500],test2[500],test3[500];
String a,b;
//char sbuf;
TStringList *Tempfile=new TStringList;
Tempfile->LoadFromFile(OpenDialog1->FileName);
i=Tempfile->Count; for(i=0;i
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |