1.
windows程式中檔案查詢函式
setcurrentdirectory函式;
findfirstfile函式;
getfullpathname函式;
cstringlist& cfilesearchengine::searchfile(
cstring strpath,
cstringlist &listfilename,
cstring strfilename)
}while (findnextfile(hfindhandle, &finddata) != 0)}}
findclose(hfindhandle);
}hfindhandle = findfirstfile("*", &finddata);
if ((hfindhandle != invalid_handle_value))
}while (findnextfile(hfindhandle, &finddata) != 0)}}
findclose(hfindhandle);
}return listfilename;}
在linux下實現檔案查詢
cstringlist& cfilesearchengine::searchfile(
cstdstring strpath,
cstringlist &listfilename,
cstdstring strfilename)
while((file = readdir(pdir)) != null)
if(strcmp(file->d_name,strfilename) == 0)} }
int pos = strpath.reversefind('/');
strpath.delete(pos, strpath.length() - pos);
if (strpath != "") //這裡是從最裡面的資料夾往外層搜尋直到根目錄遞迴呼叫
closedir(pdir);
return listfilename;}
2.windows程式中_splitpath函式在linux中的實現**自網上資料)
void
_splitpath(
const
char
*path,
char
*drive,
char
*dir,
char
*fname,
char
*ext)
if('/'
== path[strlen(path)])
p_whole_name = rindex(path, '/'
);
if(null != p_whole_name)
else
} static
void
_split_whole_name(
const
char
*whole_name,
char
*fname,
char
*ext)
else
} 3.wndows程式中獲取磁碟剩餘空間大小
函式:bool ret = getdiskfreespaceex(
drive,
(pularge_integer)&qwfreebytestocaller,
(pularge_integer)&qwtotalbytes,
(pularge_integer)&qwfreebytes);
linux下可以使用
int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);
標頭檔案 #include /* or */
struct statfs ;
移植程式到symbian平台
symbian平台理論上可以平移標準的c c 語 言程式,以及標準庫。只需要在mmp檔案中進行如下編寫 target hello.exe targettype exe uid 0 sourcepath source slhello.c systeminclude epoc32 include lib...
c 程式移植到android
在android 4.4之後新增了新的保護機制,可執行檔案必須是採用pie編譯的。如果是使用ndk進行編譯的 需要使用到android.mk指令碼 則在指令碼中新增 local cflags pie fpie local ldflags pie fpie 如果是手動採用交叉編譯鏈進行編譯的,則在編譯...
Linux程式移植到Android上
序言 由於本人還是比較偏重於先說明原理在說明實際操作步驟,要知其然更要知其所以然,如下圖所示 一般情況下,有兩種方法。1.乙個就是將程式靜態編譯,將程式中所有需要的庫全部編譯進可執行檔案中。這樣程式在android中執行就不需要鏈結任何動態庫了。但是帶來乙個非常大的弊端就是這個程式會非常大,資源利用...