gpt4 book ai didi

c++ - 从目录中的指定文件夹打开文件。 .exe 在哪里

转载 作者:行者123 更新时间:2023-11-28 07:32:37 28 4
gpt4 key购买 nike

我需要帮助打开名为“编辑数据”的文件夹中的文件,该文件夹与我正在制作的 .exe 位于同一文件夹中。我不确定在 C++ 中如何处理从文件夹中打开文件。我想要的示例。

....\Program\Edit Data <- 我想从这个文件夹中打开一个文件并编辑它

....\Program\program.exe <- .exe 的位置

我需要这样做,因为我在这个文件夹中有多个用户可以编辑的文件。我首先尝试为 Mod.dat 使用名为 Mod 的文件夹,但我没有成功。

我当前代码的一半:

#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
#include <cmath>
#include <cstring>

using namespace std;


int main ()
{


string filename;//file that will be changed
//string path = "Mod/Mod.dat";//Path of Mod.dat that I could not get to work
//string file = path + "Mod.dat";//this was for opinging Mod.dat from folder call Mod, didnt work
long size;
char* memblock;
cout << " Enter a file to be modded by Mod.dat ";
cin >> filename;

ofstream infile ( filename ,std::ofstream::binary | ofstream::in);//the file that will be opened and changed)
//"filename: I want to open it from a folder called Edit Data

ifstream modFile ( "Mod.dat" , ifstream::binary);// (mod.dat is the file that i get the first 1840 hex values from)

if (!infile){
cout << " Couldn't open " << filename << endl;
}

if (!modFile){
cout << " Couldn't open " << modFile << endl;
}

我不知道这是否重要,但我使用 Visual Studios 并且我的程序打开“infile”并对其进行编辑。我还想从 Edit Data 文件夹中打开大约 1000 个文件并使用 mod.dat 编辑它们。(编辑:截至目前,我主要只需要知道如何从文件夹中读取单个文件。)还有一种方法可以制作一个文本文档,其中包含当我将它添加到循环内部时 ofstream 读取的文件名和位置?

文件看起来像什么: ....\程序\编辑数据\12a.dat ....\程序\编辑数据\m9i3.dat ....\程序\编辑数据\2020.dat

最佳答案

您可以使用 dirent.h 获取 Edit Data 文件夹中所有文件的数组,之后您只需打开 *.dat 文件即可。

或者您可以在 X 位置打开一个文件,其中包含您要编辑的文件及其文件路径的列表,请记住路径是完整的(“C:\Program Files\Edit Data”)或可变的as ("..\Edit Data").

关于c++ - 从目录中的指定文件夹打开文件。 .exe 在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17374031/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com