当前位置:首页 » 文件管理 » c获取文件所在文件夹

c获取文件所在文件夹

发布时间: 2024-08-24 12:02:16

‘壹’ VC环境中用c语言查找当前路径下的所有文件和文件夹的函数是什么

这是我的TFTP程序中的一个函数,是搜索当前盘符下的所有文件,包括文件的大小,并发送到客户端,其中就有查找当前路径下的文件,你自己挑一下,应该能完成你的需求。
void FileList(sockaddr_in sour_addr,char strStartDir[])
{
char sendbuffer[1024];
sockaddr_in destaddr;

int sourlen = 0;
int ret = 0;
int len = 0;
int flen = 0;

fd_set fdr;

unsigned short blocknum = 0;

FILE *file;
char filename[128];

strcpy(filename,strStartDir+2); /*获取文件名*/

strcat(filename,"\\*");
destaddr.sin_family = AF_INET;
destaddr.sin_port = sour_addr.sin_port;
destaddr.sin_addr.s_addr = inet_addr(desthost);//

WIN32_FIND_DATA FindFileData;
HANDLE hFind;
hFind = FindFirstFile(filename, &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
printf ("Invalid File Handle");
}
else
{
while(FindNextFile(hFind,&FindFileData))
{
printf(FindFileData.cFileName);
printf("\r\n");
memset(sendbuffer,'\0',1024);

len = filldata(blocknum++,FindFileData.cFileName,strlen(FindFileData.cFileName),sendbuffer,sizeof(sendbuffer));
ret = sendto(serverSock,sendbuffer,len,0,(sockaddr *)&destaddr,sizeof(destaddr));

}
len = fillover(blocknum,"Over",4,sendbuffer,sizeof(sendbuffer));
ret = sendto(serverSock,sendbuffer,len,0,(sockaddr *)&destaddr,sizeof(destaddr));
FindClose(hFind);
return;
}
}

‘贰’ 易语言如何取文件所在的目录

易语言取文件路径步骤:

首先,准备好测试文件(文件随意),这里不强求使用某个文件,只是为了配合此次测试而已。这里,就以一个txt文本文档为例吧。

‘叁’ c语言中如何得到当前文件所在位置

如果是通过open方式打开的,那么第一个参数就是文件路径信息:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *path, int oflag, /* mode_t mode */...);

如果是通过fopen方式打开的,那么第一个参数就是文件路径信息:
#include <stdio.h>
FILE *fopen(const char *filename, const char *mode);

无论通过open还是fopen打开文件,都必须先知道文件路径信息,尽管可能是相对路径。
如果知道了filename的内容,我们就可以定位它的绝对路径,也就是你说的完全路径。

1. filename本身就是绝对路径,ok。
2. filename是相对路径,那么先通过getcwd获取进程的执行路径,然后再获取绝对路径即可。
#include <unistd.h>
extern char *getcwd(char *buf, size_t size);

但是,如果进程在打开文件后又执行了chdir、fchdir之类函数的话,估计就不能够再获取文件路径信息了。
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fildes);

‘肆’ c语言 怎样获取文件夹中的所有文件

较简单的是用DOS命令 DIR 并转向到一个文件,再打开文件读出一个一个文件名。
例如:
char my_cmd[80] = "DIR/B/A-D D:\\USER\\WANG >> abc.lis";
system( cmd);
你就获得D:\\USER\\WANG 文件夹中的所有文件,选项意思是 只列 文件名,并按字母排列。
>> abc.lis 转向,存入文件 abc.lis
接着,你可以 用FILE *fp; fp = fopen("abc.lis","r"); 打开文件
用 fgets() 读文件名。

‘伍’ 怎么用标准C/C++打开windows explorer,选择文件,获取文件或文件夹路径

shellecute函数方法实现打开explorer,及打开一个目录,进行选择文件,获取文件或文件夹路径
GetCurrentDirectory 在一个缓冲区中装载当前目录
GetFullPathName 获取指定文件的完整路径名
看这样API函数的使用方法实现你所需要的功能。

‘陆’ C语言知道文件名如何获取文件路径

两种方式:绝对路径和相对路径.
绝对路么要完整的路径及文件名;
相对路径与源程序在一个路径下..

热点内容
谷能压缩机 发布:2025-01-13 15:44:30 浏览:412
电脑电脑直连通讯ftp 发布:2025-01-13 15:38:03 浏览:717
nvm存储 发布:2025-01-13 15:36:19 浏览:552
京东架构师缓存经验 发布:2025-01-13 15:33:00 浏览:726
android图片颜色 发布:2025-01-13 15:26:09 浏览:268
国家税务总局电脑服务器 发布:2025-01-13 15:10:24 浏览:596
金立老款机的开机密码是多少 发布:2025-01-13 15:04:45 浏览:456
湖南网上办税初始密码多少 发布:2025-01-13 15:02:49 浏览:417
怎么使用笔记本连接服务器 发布:2025-01-13 15:02:48 浏览:705
长城cs75plus选哪个配置 发布:2025-01-13 14:54:05 浏览:22