书部落-计算机PDF电子书之家 » Windows编程(C/C++/VC++) » 文件操作 » 一些对文件及驱动器操作的api 应用


2008-8-19 00:38 vvilp
一些对文件及驱动器操作的api 应用

下了很多书 谢谢这个论坛 这次来做点贡献!!!!
_ Uj8v%m&Xk!_cp%j 没币了 所以发一贴赚点币  哈哈 顺便做第一贴的宝座!!!!!!!!!!!!!!!!!!!!版主请不要吝啬lysy;C+T:v{3R
先发三个吧  以后我再发一点对注册的表的操作 很简单却非常实用!!!!要学习更多请到我的blog
r|sO2k1K x ====================================
2@ YR6E'x3H.n-@&? [url]www.hi.baidu.com/vvilp[/url]
$t(Dufr `bX-aB ======================================================================
%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'IKhf|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"h c     R/F0z}1? U m
            //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*T t 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\ ?RD)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)
$h vnCZ7qK                         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'w0T e!G+L
       
j F\P _2p|         return 0;|/Z|H"h8j
}M v9h [*wa6z.b G

vPUf6B [[i] 本帖最后由 vvilp 于 2008-8-19 00:41 编辑 [/i]]

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.