我想通过使用fopen和相对路径在VS2017中使用C ++打开文件。但是每次尝试都会出错,因此我查看了相对输入的绝对路径:
string ExePath() {
char buffer[MAX_PATH];
GetModuleFileName(NULL, buffer, MAX_PATH);
return buffer;
}
string AbsPath(string path) {
char buffer[MAX_PATH]; strcpy_s(buffer, path.c_str());
char buffer2[MAX_PATH];
GetFullPathName(buffer, MAX_PATH, buffer2, NULL);
return buffer2;
}
int main() {
cout << "Application\t " << ExePath() << "\n";
cout << "\\data.dat\t" << AbsPath(".\\data.dat") << "\n";
system("Pause");
}
我得到了输出:
应用程序C:\ Users \ User \ source \ repos \ Project1 \ Debug \ Project1.exe
\ data.dat C:\ Users \ User \ source \ repos \ Project1 \ Project1 \ data.dat
我的应用程序位于。\ Debug \中,我的相对路径指向\ Project1。我会出错吗?