您的位置 首页 > 数码极客

〈c盘文件如何搜索文件夹名称〉文件夹名为

C输入输出库函数除了操作文件以外,还可以操作目录(文件夹):

1 指定一个目录为当前目录

#include <direct.h> // vc, TC: dir.h #include <; #define MAX_PATH 255 int main() { char path[MAX_PATH]; getcwd(path,MAX_PATH); // 获取当前工作目录 printf("%s\n",path); if(chdir("d:")==0){ // 改变当前目录 getcwd(path,MAX_PATH); // 获取当前目录 printf(path); } getchar(); }

2 新建、删除目录(文件夹)

#include <direct.h> #include <; #include <; int main() { rmdir("c:\\test"); // 删除文件夹 if(mkdir("c:\\test")==0){ // 新建目录 system("start c:\\test"); } getchar(); }

3 查找指定文件

#include <io.h> #include <; int main() { // 文件查找 long handle; struct _finddata_t fileInfo; if((handle=_findfirst("D:\\*.txt",&fileInfo))==-1L) printf("没有找到匹配的项目\n"); else { printf("%d\n",handle); printf("%s\n",); while(_findnext(handle,&fileInfo)==0) printf("%s\n",); _findclose(handle); } getchar(); }

4 创建临时文件

创建名字唯一的临时文件:推荐使用tmpfile和mkstemp,因为这两个函数创建文件的同时并打开文件,总的来说安全又可靠。tmpfile返回的是文件流指针FILE*,mkstemp返回的是文件描述符。

#include <; #include <; int main() { char tmpname[L_tmpnam]; char *filename; FILE *tmpfp; if((filename = tmpnam(tmpname)) != NULL) //方式一:不推荐使用 { printf("Temporary file name is: %s\n", filename); printf("Temporary tmpnam is: %s\n", tmpname);//在一次打开中filename 与 tmpnam相同 fopen(tmpname,"r"); perror("open"); fopen(filename,"r"); perror("open"); } tmpfp = tmpfile(); //方式二:推荐使用 if(tmpfp) printf("Opened a temporary file OK\n"); else perror("tmpfile"); getchar(); } /* Temporary file name is: \s5tg. Temporary tmpnam is: \s5tg. open: No such file or directory open: No such file or directory Opened a temporary file OK */

mktemp()用法与tmpnam差不多,只是名字部分可以由template确定,template后面六个字符必须为X,例如tmpXXXXXX。

#include <; #include <; #include <io.h> //char *mktemp(char *template); int main(int argc,char *argv[]) { char filename[] = "temp-XXXXXX"; char *name; if((name = mktemp(filename)) == NULL) { perror("mktemp"); exit(1); } printf("name:%s\nfilename:%s\n",name,filename); getchar(); } /* name:temp-a04108 filename:temp-a04108 */

建立多个:

#include <io.h> #include <; #include <; #include <errno.h> int main() { // 创建临时文件 char *templat = "fnXXXXXX"; char *result; char names[5][9]; int i; FILE *fp; for( i = 0; i < 5; i++ ) { strcpy( names[i], templat ); result = _mktemp( names[i] ); // Note: _mktemp is deprecated; consider using _mktemp_s instead if( result == NULL ) { printf( "Problem creating the template\n" ); if (errno == EINVAL) { printf( "Bad parameter\n"); } else if (errno == EEXIST) { printf( "Out of unique filenames\n"); } } else { fp = fopen(result, "w" ); if( fp != NULL ) printf( "Unique filename is %s\n", result ); else printf( "Cannot open %s\n", result ); fclose( fp ); } } getchar(); }

与mktemp函数区别:mkstemp返回值为文件描述符,mktemp返回值为文件名指针。

#include <; #include <; #include <io.h> int main() { int fd; char tmpfile[] = "temp-XXXXXX"; if((fd = mkstemp(tmpfile))< 0) { perror("mkstemp"); exit(1); } close(fd); exit(0); }

5 文件重命名

#include <; int main(void) { char oldname[80], newname[80]; /* prompt for file to rename and new name */ printf("File to rename: "); gets(oldname); printf("New name: "); gets(newname); /* Rename the file */ if (rename(oldname, newname) == 0) printf("Renamed %s to %s.\n", oldname, newname); else perror("rename"); getchar(); return 0; } /* File to rename: d:\ New name: d:\demo.txt Renamed d:\ to d:\demo.txt. */

6 文件删除

#include <; int main(void) { char file[80]; /* prompt for file name to delete */ printf("File to delete: "); gets(file); /* delete the file */ if (remove(file) == 0) printf("Removed %s.\n",file); else perror("remove"); getchar(); return 0; } /* File to delete: d:\demo.txt Removed d:\demo.txt. */

ref:

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“c盘文件如何搜索文件夹名称,文件夹名为,c盘搜索文件夹可以删除吗,怎么在c盘目录下搜索文件夹,如何在C盘搜索文件”边界阅读