导航:首页 > 编程语言 > c语言查找程序所在目录

c语言查找程序所在目录

发布时间:2025-10-07 04:13:03

A. 怎样使用C语言列出某个目录下的文件

C语言本身没有提供象dir_list()这样的函数来列出某个目录下所有的文件。不过,利用C语言的几个目录函数,你可以自己编写一个dir_list()函数。 首先,头文件dos.h定义了一个find_t结构,它可以描述DOS下的文件信息,包括文件名、时间、日期、大小和属性。其次,C编译程序库中有_dos_findfirst()和_dos_findnext()这样两个函数,利用它们可以找到某个目录下符合查找要求的第一个或下一个文件。 dos_findfirst()函数有三个参数,第一个参数指明要查找的文件名,例如你可以用“*.*”指明要查找某个目录下的所有文件。第二个参数指明要查找的文件属性,例如你可以指明只查找隐含文件或子目录。第三个参数是指向一个find_t变量的指针,查找到的文件的有关信息将存放到该变量中。 dos_findnext()函数在相应的目录中继续查找由_dos_findfirst()函数的第一个参数指明的文件。_dos_findnext()函数只有一个参数,它同样是指向一个find_t变量的指针,查找到刚文件的有关信息同样将存放到该变量中。 利用上述两个函数和find_t结构,你就可以遍历磁盘上的某个目录,并列出该目录下所有的文件,请看下例: #include <stdio.h> #include <direct.h> #include <dos.h> #include <malloc.h> #include <memory.h> #include <string.h> typedef struct find_t FILE_BLOCK void main(void); void main(void){FILE_BLOCK f-block; /* Define the find_t structure variable * / int ret_code; / * Define a variable to store the return codes * / / * Use the "*.*" file mask and the 0xFF attribute mask to list all files in the directory, including system files, hidden files, and subdirectory names. * / ret_code = _dos_findfirst(" *. * ", 0xFF, &f_block); /* The _dos_findfirst() function returns a 0 when it is successful and has found a valid filename in the directory. * / while (ret_code == 0){/* Print the file's name * / printf(" %-12s\n, f_block, name); / * Use the -dos_findnext() function to look

B. WINDOWS操作系统下的C语言头文件存放在哪个目录中

在Windows操作系统中,C语言的头文件存储位置取决于它们的类型和用户的配置,具体如下

总结:Windows下的C语言头文件位置并非固定,标准库头文件的位置取决于编译器,而用户自定义头文件的位置则取决于开发者的选择和项目需求。

C. 怎样判断正在运行的C语言程序所在的目录

DOS程序的装入程序会提供正在运行的可执行文件的路径全名。这个路径全名是通过指针argv[0]提供的,mai‘n()函数的argv变量指向该指针。只需去掉路径全名中的文件名,你就得到了正在运行的程序所在的目录。下面的例子演示了这种技巧:
# include <stdio. h>
# include <stdlib. h>
# include <string. h>
void main(int argc, char ** argv)
{
char execDir [80];
int i,t;
/ * set index into argv[0] to slash character prior to appname * /
for(i= (strlen(argv[0])-1) ;
((argv[O][i] ! ='/' ) && (argv[O][i]! =' \\' ));--i) ;
/ * temporarily truncate argv[] * /
t =argv[O][i] ;
argv[O][i]= O ;
/ * directory path into local buffer * /
strcpy(execDir ,argv[O]) ;
/* put back original character for sanity's sake * /
argvEO]Ei]=t;
}

D. c语言如何获得文件当前路径

C语言里
在main函数来的第二个参数里面,自
保存着当前程序运行的目录
也就是argv[0]
main( int argc, char *argv[])
{
printf("%s ", argv[0] );
}
就是文件当前所在位置
不过需要注意的一点是
这个路径里面保存了当前文件的文件名
如果你只是需要路径的话还需要自己操作一下

main(int a,char *c[])
{
char s[100];
int i;
//把路径保存到字符串s里
strcpy(s,c[0]);
for(i=strlen(s); i>0 ; i--)
if( s[i] == '\\')
{
s[i]='\0';
break;
}
//找到最后一个 \ 并删除之后的内容
//最后输出的s,就是当前文件的路径了
puts(s);
}

E. C语言如何遍历目录 (C++也可以) findfirst findnext怎么用

#include <windows.h>
#include <stdio.h>
FILE *fp;
void findFile(char filePath[])//这个是你要的函数
{
char szFind[MAX_PATH];//这是要找的
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
char szFile[MAX_PATH];

strcpy(szFind,filePath);
strcat(szFind,"\\*.*");//利用通配符找这个目录下的所以文件,包括目录

hFind=FindFirstFile(szFind,&FindFileData);
if(INVALID_HANDLE_VALUE == hFind) return;

while(TRUE)
{

if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)//这是目录
{
if(FindFileData.cFileName[0]!='.')//.表示当前目录,因为每个目录下面都有两个默认目录就是..和.分别表示上一级目录和当前目录
{
strcpy(szFile,filePath);
strcat(szFile,"\\");
strcat(szFile,FindFileData.cFileName);
findFile(szFile);//寻找这个目录下面的文件
}
}
else
{
fprintf(stdout,"%s\\%s\n",filePath,FindFileData.cFileName);//打印出目录下的文件的路径和名称
fprintf(fp,"%s\\%s\n",filePath,FindFileData.cFileName);//这将结果存档到c:\\path.txt中。
}
if(!FindNextFile(hFind,&FindFileData))//寻找下一个文件
break;
}
FindClose(hFind);//关闭句柄
}

int main()
{
fp = fopen("C:\\path.txt","w");
findFile("D:\\e-book\\实习\\随笔\\读书ing");//这里是你要遍历的目录,你自己可以改变,它会显示这个目录下的所有文件,包括这个目录下子目录下的文件。
fclose(fp);
return 0;
}
程序如上,是把结果输出到标准输出上,并且存档到C:\\path.txt中。
可以运行的,我已经测试过。
工具是vc6.0.

阅读全文

与c语言查找程序所在目录相关的资料

热点内容
学编程用什么电脑软件最好 浏览:344
苹果系统百度网盘下载的文件在哪 浏览:699
javaunicodehex 浏览:495
大数据和计算机哪个难度大 浏览:920
剑灵下载器下载的文件在哪 浏览:188
c语言查找程序所在目录 浏览:817
在我的南京app上如何挂号 浏览:825
成都少儿编程哪个教育平台比较好 浏览:868
qq里面网络文件在哪 浏览:662
excel表格中公式太多文件太大 浏览:959
大盘数据哪里下载 浏览:546
编程大神是怎么挣钱的 浏览:410
微信头像民国 浏览:281
json文件怎么导入数据库中 浏览:599
word自定义xml 浏览:87
sql附加数据库是什么意思 浏览:715
编程猫流行编程什么 浏览:742
java获取今天日期 浏览:729
软件mac地址在哪个文件 浏览:849
澄清文件如何增加业绩 浏览:875

友情链接