c++输入一个文件所在的盘符,文件夹名,文件名,输出该文件所在路径的代码
时间: 2023-04-05 16:01:06 浏览: 78
可以使用以下代码实现:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char drive[3], dir[256], fname[256], ext[256];
char path[512];
printf("请输入文件所在的盘符:");
scanf("%s", drive);
printf("请输入文件夹名:");
scanf("%s", dir);
printf("请输入文件名:");
scanf("%s", fname);
printf("请输入文件扩展名:");
scanf("%s", ext);
sprintf(path, "%s%s\\%s.%s", drive, dir, fname, ext);
printf("文件所在路径为:%s\n", path);
return 0;
}
相关问题
C++读取文件夹中文件名以及文件路径
可以使用 dirent.h 头文件中的 DIR 和 dirent 结构体,实现读取文件夹中的文件名和路径的功能。具体实现可以参考以下的示例代码:
```c
#include <stdio.h>
#include <dirent.h>
int main() {
char *dir_path = "./dir"; // 文件夹路径
DIR *dir;
struct dirent *ent;
if ((dir = opendir(dir_path)) != NULL) {
// 遍历文件夹中的文件
while ((ent = readdir(dir)) != NULL) {
if (ent->d_type == DT_REG) { // 只处理普通文件
printf("%s/%s\n", dir_path, ent->d_name); // 打印文件路径和文件名
}
}
closedir(dir);
} else {
printf("Failed to open directory %s\n", dir_path);
}
return 0;
}
```
这段代码可以打印出文件夹 "./dir" 中的所有普通文件的路径和文件名。
c++ 获得文件路径最后一个/后的文件夹名
你可以使用以下代码来获取文件路径中最后一个 "/" 后的文件夹名:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string path = "/Users/Documents/Project/test.txt";
string folderName = "";
size_t index = path.rfind('/');
if (index != string::npos) {
folderName = path.substr(index+1);
}
cout << "Folder Name: " << folderName << endl;
return 0;
}
```
在上面的代码中,我们使用 `rfind()` 函数查找最后一个 "/" 的位置,然后使用 `substr()` 函数从该位置截取字符串直到字符串末尾,即可获取最后一个 "/" 后的文件夹名。