是否存在与平台无关且与文件系统无关的方法来获取使用C/C++运行程序的目录的完整路径?不要与当前的工作目录混淆.(请不要建议使用库,除非它们是clib或STL等标准库.)
(如果没有平台/文件系统无关的方法,也欢迎在Windows和Linux中使用特定文件系统的建议.)
我正在制作一个C程序,我需要从中获取程序启动的目录.该程序是为UNIX计算机编写的.我一直在寻找opendir()和telldir(),但telldir()返回off_t (long int),所以它确实没有帮助我.
如何在字符串(char数组)中获取当前路径?
我有这个代码,它显示目录本身的文件夹,而不是其内容.我想显示它的内容.我不想使用boost :: filesystem.
我该如何解决这个问题?
码:
#include <windows.h>
#include <iostream>
int main()
{
WIN32_FIND_DATA data;
HANDLE hFind = FindFirstFile("C:\\semester2", &data); // DIRECTORY
if ( hFind != INVALID_HANDLE_VALUE ) {
do {
std::cout << data.cFileName << std::endl;
} while (FindNextFile(hFind, &data));
FindClose(hFind);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
semester2
Run Code Online (Sandbox Code Playgroud) 我知道MFC框架上存在GetCurrentDirectory()和SetCurrentDirectory()函数,但我的应用程序中没有CFtpConnection对象.我有一个简单的CWinApp派生类,我想在程序启动时检索它的工作目录.实现这一目标的最简单方法是什么?提前感谢您的建议.
我正在使用C++并尝试将文件输出到特定位置,具有指定名称的文件夹与可执行文件位于同一目录中.无法通过简单的方法找到一个很好的资源,但我知道它必须是可能的.
我的例子.我正在保存一个日志文件,而不是将其保存到与可执行文件相同的目录,它保存到/ logs /
感谢您的时间!
编辑:我使用mkdir创建一个文件夹,但如何输出到该文件夹.mkdir甚至是一件好事吗?我想学习最好的方法,不一定是最简单的方法.