2008-8-19 00:38
vvilp
一些对文件及驱动器操作的api 应用
下了很多书 谢谢这个论坛 这次来做点贡献!!!!
_ Uj8v%m&Xk!_cp%j
没币了 所以发一贴赚点币 哈哈 顺便做第一贴的宝座!!!!!!!!!!!!!!!!!!!!版主请不要吝啬lysy;C+T:v{3R
先发三个吧 以后我再发一点对注册的表的操作 很简单却非常实用!!!!要学习更多请到我的blog
r|sO2k1Kx
====================================
2@YR6E'x3H.n-@&?
[url]www.hi.baidu.com/vvilp[/url]
$t(Duf r `bX-a B
======================================================================
%XiGB
_\B&P
//=====================================================================O"c)D.lE LB
// Name : 得到驱动器目录.cpp9e,d-j^
Jp$?+p
// Author : wZT.vvilp
}1[d3W Qh'U*{c
// Version :
? u2nM(P*E0p
// Copyright : Your copyright notice
5W0u3}j;q
// Description : 循环得到所有驱动器目录;ZT(S%T2`'|
//===================================================================z*e9mx#V:rX
A1W-O
#include <iostream>YdeF(cn sU:a
#include <windows.h>
zLQ+O.}h*z+i$f
#include <string>Pk1lI Q[(]
using namespace std;
dv?H9d"j
L2y
)R/[Y@9Y^iA
void GetLocalDriversPath(char path[255][255]) { YH?'T5Iczc
char s[255];
4O[c7o-}
i;l
_\qD
GetLogicalDriveStrings (sizeof(s),s);
5sX:~(Vd2|%vI
Bl'q|6^*H#m4}
int i=0,m,n;
^I(G vA
for(m=0;s[i]!=0&&s[i+1]!=0;m++) { //这两个循环我设计了很多 这个比较简约
+n$YP.k/g'IKh f|5{
.i"@)\+[])w\q
for(n=0;s[i]!=0;i++,n++) {OO[%cK4V^
path[m][n]=s[i];
)Uax2f2T$t|{Qa
}
6UH3kW7`"H
i++;
(H(Jdl&K4{
}
,|iU&h)BrC"hc
R/F0z}1? Um
//cout<<path[4]<<endl;
N`$cX6c#Oh
}
F+k2Gla#r7` v
.T!Y*ux][6p*N
cjCjC%n
int main (){
zKuQ,a?9x*H
char systempath[255][255]={0};0T7j:Y}d1E
GetLocalDriversPath(systempath);
/?Wyb{6z7C3`&mF
for(int j=0;j<255;j++)
"T:V1[,pc;J+P q3A
cout<<systempath[j];,P(G@)~n-\
G
A
}
8d#b5N3H8A`pf
=======================================================================%P5W5Q l},w}h1u/v
//===================================================================Whuf;_
X2L$I
// Name : 更改文件与文件夹属性.cpp2P1krzg_({a6a%y
// Author : wZT.vvilp
9Ha,C&N|9[P
// Version :%Z`e|.S8s$Ey(A$I
// Copyright : Your copyright notice
e0XTU`7lF
// Description : 更改文件与文件夹属性
cekL1R(pd
//=================================================================
&i:O8zZ/Q|Su |)Q
#include <iostream>
zL"h'P"L:x8w
X'B
#include <windows.h>1}_s_)N*If*Tt K
using namespace std;
`)P!EYv2?
.H/CR)^7u_5t
int main() {
m)`E5B
]C
SetFileAttributes("这里填上你要修改文件的地址",FILE_ATTRIBUTE_NORMAL);// 就这里一个函数
-~ I-Fvmo
UQ"u_8P*j7l
}+s9w X#t%t5Gs
//================================================================
r\ ?R D)x.f
// Name : 生成文件.cppO ug
m_A'MwF b
// Author : wZT.vvilpy7Ts Vz7p
// Version :
6?9v`0[%K%H"C
// Copyright :
.i-?O8|Xm
// Description : 批量生成一些文件
o_&y8lfYEL;I9x
//==================================================================
O7pts9xZ+r
n
S"Qy0J'Jh9U
#include <iostream>!@p0M{m~
#include <windows.h>
1srf^xk!g
F
C
#include <string>
Y2NnQ7D'hB8Y
using namespace std;
G _&~i!F'q5\Qy
l3cr6vbP9tX
int main() {
zK5[vm
N5X
^k7K|-I&T'k.V
char FileName[255];TBF"B!S;|p
char Data[512]= "文件内容";
l8_;b5S:R4z Lr
for (循环生成文件个数 自己发挥) {
0` o0]1y2jAL|
char Path[255]="生成文件的文件夹地址";9q)~%CY.xx/Z!~F
wsprintf(FileName,"\\%d.txt",i);
F+Y2^a7G2gO7I
strcat(Path,FileName);
Tbje'}
uCImxe1Id9K
HANDLE hFile;`\\'Lc'x)h
eeZ
hFile=CreateFile(Path,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_SYSTEM ,NULL);{y2Q6XF8Y9~_N6_2Z
BNZ!t^G
if(hFile==INVALID_HANDLE_VALUE)
$hvnCZ7qK
continue;w7ch#jt
G@2BS
^xh(LA
DWORD dwWrite;
w"f*`0GY]no
WriteFile(hFile,&Data,strlen(Data),&dwWrite,NULL);
%_YL2xS!g!d
CloseHandle(hFile);
5]7K[a,@%I5P
//memset(Path,0x00,255);
5Xsyi*C)A
//memset(FileName,0x00,255);
*A9s+O#e*j R
}*cM+jq'w0Te!G+L
jF\P_2p|
return 0;|/Z|H"h8j
}Mv9h
[*wa6z.b
G
vPUf6B
[[i] 本帖最后由 vvilp 于 2008-8-19 00:41 编辑 [/i]]