c語言文件相對路徑
發布時間: 2023-08-05 05:39:35
1. 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);
2. c語言如何用fopen打開另一相對路徑下的文件夾
這種情況既可以轉換成絕對路徑,也可以切換到那個目錄下,也可以在這個目錄到那個目錄的相對路徑。
熱點內容