How do I read a file thats in a folder, but is in the same folder as the exe.? And how do I do this no matter what folder the root folder is placed in?

Recommended Answers

first call getcwd() or _getcwd() to get the current path then concantinate the filename.

Jump to Post

The location of the executable isn't required to be in the current working directory. What OS and compiler are you using?

Jump to Post

All 6 Replies

first call getcwd() or _getcwd() to get the current path then concantinate the filename.

I did a bit of research and this is what I came up with:

#include <iostream>
#include <direct.h> 

using namespace std;

int main(void)
{

char FilePath[_MAX_PATH]; 

getcwd(FilePath, _MAX_PATH);

// and just to see if getcwd worked...
cout << FilePath;

system ("pause");

}

So now that i know how to use getcwd, how do I concantinate the filename?

The location of the executable isn't required to be in the current working directory. What OS and compiler are you using?

>>how do I concantinate the filename?
strcat(FilePath,"Filename");

or

strcat(FilePath,"\\Filename");

depending on if getcwd() terminates the path with '\' or not.

commented: Perfect!! +1

If the file is in the same directory couldn't you just do this?

#include <conio.h>
#include <fstream>
#include <iostream>
#include <string>
using namespace std;

int main(int argc, char* argv[])
{
string FileName;
cout << "Enter the file name: ";
cin >> FileName;

cout << endl << endl;

ifstream in(FileName.c_str());
while (!in.eof())
{
char ch;
in.get(ch);
cout << ch;
}
getch();
return 0;
}

Example:
Enter the file name: Stuff.txt

Stuff.

That worked perfectly, thanks!! :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.