文件管理 · 2022年7月25日

c按钮获取文件路径|c语言中如何得到当前文件所在位置

① 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如何获得FILE*的路径

关于通过 C 语言编程获取到某个文件的完整路径、以及文件名称的问题,那是毫无疑问可内以做容到的。但是具体的编程我由于已经好多年没有编写 C 语言程序了。故具体的程序调试过程需要你自己进行完成了。关于这部分的问题,我记得 C 语言库函数大全上面肯定是有的,你可以参考有关 C 语言库函数的教材。但是注意一点就是:如果是在 WINDOWS 系统下面的编程,那么路径名必须使用双斜线,即:\\ 才行。例如:若想表示打开驱动器 D 上的 MY_SUBDIR 子目录下面的 MYFILE.TXT 文件,则在 C 语言源程序中要写为如下代码:#include <stdio.h>void main( ){FILE * fpr ;fpr = fopen("D:\\MY_SUBDIR\\MYFILE.TXT", "r") ; /* 这样写才是正确的语句。*/……fclose(fpr) ;}

③ vs c++ 点击浏览按钮 如何获取路径

int nIndex = m_myLocalResListCtrl.GetSelectionMark();if(nIndex>=0){ CString path = m_myLocalResListCtrl.GetItemText(nIndex,3); // 获取路径 // 打开文件所在目录 ShellExecute(NULL,NULL,_T("explorer"), _T("/select, ")+path,NULL,SW_SHOW);}参考一下

④ C语言知道文件名如何获取文件路径

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

⑤ c语言如何获取用户通过键盘输入的文件目录中的文件名和文件路径,ballball大佬帮帮我🙏求代码

int main(){ string s = "c:\\abc\\def\\text.txt"; int xie_index = s.find_last_of('\\'); 制// 路径中最后一个\的位置 string file_dirname = s.substr(0, xie_index + 1); string file_basename = s.substr(xie_index + 1, s.size()); cout << file_dirname << endl << file_basename << endl;}

⑥ c语言读取文件的路径怎么设定

//获取指定目录下的所有文件列表 author:wangchangshaui jlu char** getFileNameArray(const char *path, int* fileCount) { int count = 0; char **fileNameList = NULL; struct dirent* ent = NULL; DIR *pDir; char dir[512]; struct stat statbuf; //打开目录 if ((pDir = opendir(path)) == NULL) { myLog("Cannot open directory:%s\n", path); return NULL; } //读取目录 while ((ent = readdir(pDir)) != NULL) { //统计当前文件夹下有多少文件(不包括文件夹) //得到读取文件的绝对路径名 snprintf(dir, 512, "%s/%s", path, ent->d_name); //得到文件信息 lstat(dir, &statbuf); //判断是目录还是文件 if (!S_ISDIR(statbuf.st_mode)) { count++; } } //while //关闭目录 closedir(pDir); // myLog("共%d个文件\n", count); //开辟字符指针数组,用于下一步的开辟容纳文件名字符串的空间 if ((fileNameList = (char**) myMalloc(sizeof(char*) * count)) == NULL) { myLog("Malloc heap failed!\n"); return NULL; } //打开目录 if ((pDir = opendir(path)) == NULL) { myLog("Cannot open directory:%s\n", path); return NULL; } //读取目录 int i; for (i = 0; (ent = readdir(pDir)) != NULL && i < count;) { if (strlen(ent->d_name) <= 0) { continue; } //得到读取文件的绝对路径名 snprintf(dir, 512, "%s/%s", path, ent->d_name); //得到文件信息 lstat(dir, &statbuf); //判断是目录还是文件 if (!S_ISDIR(statbuf.st_mode)) { if ((fileNameList[i] = (char*) myMalloc(strlen(ent->d_name) + 1)) == NULL) { myLog("Malloc heap failed!\n"); return NULL; } memset(fileNameList[i], 0, strlen(ent->d_name) + 1); strcpy(fileNameList[i], ent->d_name); myLog("第%d个文件:%s\n", i, ent->d_name); i++; } } //for //关闭目录 closedir(pDir); *fileCount = count; return fileNameList

⑦ C#点击按钮出现选择文件路径

|OpenFileDialog ofd = new OpenFileDialog();//新建打开文件对话框ofd.InitialDirectory =Environment.GetFolderPath(Environment.SpecialFolder.Personal);//设置初始文件目录ofd.Filter = "文本文件(*.txt)|*.txt|所有文版件(*.*)|*.*";//设置打开文件类型if (ofd.ShowDialog(this) == DialogResult.OK){ string FileName = ofd.FileName;//FileName就是要打权开的文件路径 //下边可以添加用户代码 }

⑧ VS2010 MFC中如何点击一下按钮,然后获取EDIT中的路径,然后把路径里面的所有TXT文档都读一遍。

获取编辑框路径:CString path;GetDlgItem(IDC_EDIT1)->GetWindowText(path);遍历文件夹,使用CFileFind类,具体代码较长,可以网络该类名有大量参考代码。读取文件方法很多,推荐使用CFile类显示在编辑框:GetDlgItem(IDC_EDIT2)->SetWindowText(str);

⑨ 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);}