因為工作的需要用了乙個下午多的時間寫了個讀v8 tbl檔案點號與座標的程式,修改一下也可以反過來使用,將點號,座標寫入到tbl檔案中去,這裡使用到了雙向的鍊錶結構,值得贊啊!!!!
這裡還要說一下findfirstfile這個函式的使用有兩個引數,第乙個引數是查詢的路徑,第二個引數是儲存找到的結果。這裡第乙個引數必須使用.來結尾。
如存放的路徑是:「d:\學習研究\v8資料研究\9680」,則要在後面加上「.」
d:\學習研究\v8資料研究\9680*.
*typedef struct list///鍊錶結構定義
list;
typedef struct _st
st;typedef struct _header
header;
list lt[10];
int pathindex=0;
int k=0;
char rootpath[260]=;
void findfile(char buffer,clistbox list)
;win32_find_dataa data;
handle hhand=findfirstfile(buffer,&data);
bool lret=true;
while(1)
if(strcmp(&data.cfilename[0],".")==0)
if(strcmp(&data.cfilename[0],"…")0)
if(data.dwfileattributesfile_attribute_directory)//找到的是目錄
strcat(tmpbuffer,"\.");
findfile(tmpbuffer,list);
pathindex–;
}int n=(int)strstr(data.cfilename,".tbl");
if(n>0)
;char tmp[40]=;
sprintf(tmp,"%d,%s",k,data.cfilename);
k++;
st st=;//儲存點號,維度,經度
char filename[260]=;
list->addstring(tmp);
file *fp=null;
file *wp=null;
header header=;
// memset(&header,0,32);
strcpy(filename,rootpath);
//strcat(filename,"\");
for(int i=1;i<=pathindex;i++)//使用鍊錶
//strcat(filename,lt[pathindex].filename);
strcat(filename,"\");
strcat(filename,data.cfilename);
fp=fopen(filename,「rb」);
n=fread(&header,32,1,fp);
// getcurrentdirectory(260,tmppath);
// strcat(tmppath,"\result.txt");
wp=fopen(「c:\result.txt」,「a+」);//這裡指定結果檔案的位置
while(n>0)
if(strcmp(&header.title[0],「lngg」)==0)
if(strcmp(&header.title[0],「site」)==0)
n=fread(&header,32,1,fp);}}
}}void cfindfiledlg::onbutton1()
;// char szfileter=「all files(.)|.」;
// cstring rootpath="";
// cfiledialog fd(true,null,null,0,szfileter,this);
// if(idokfd.domodal())
// if(m_rootpath"")
strcpy(lt[0].filename,m_rootpath);
lt[0].plist=null;
strcpy(buffer,m_rootpath.getbuffer(255));
strcpy(rootpath,buffer);
strcat(buffer,"\.");
findfile(buffer,&m_list1);
updatedata(false);
}使用說明:在上面的editbox裡面輸入路徑,最大支援10層路徑搜尋,點旁邊的按鈕就能在下面的listbox裡面列出找到的結果,並將在c盤(自己修改**)生成結果檔案result.txt
C 中txt座標檔案的讀取
一 相關知識 1 容器vector的使用 需要 include以及using namepace std 2 結構體的使用 struct 3 檔案輸入流 需要 include 二 編寫 include include include include includeusing namespace std...
VC讀取檔案的檔案版本號
vc版本 char szfilename c dword dwsize getfileversioninfosize szfilename,null lpvoid pblock malloc dwsize getfileversioninfo szfilename,0,dwsize,pblock c...
VC 中XML檔案的解析讀取寫入
1 在stdafx.h中引用如下 include tlh msxml4.tlh using namespace msxml2 if win32 winnt 0x0400 hresult hres coinitializeex null,coinit multithreaded else hresul...