I know this is a very specific question. I am compiling a c++ code using g++ compiler on a unix machine.
I have the following one line code to read a text file specified as parameter in C++: test.cc
int main(int argc, char *argv[])
{
ifstream inputfile(argv[1]);
}
Now after compiling with g++, I will call it as:
./test file.txt
But what should I do, if I want to call it as
./test <file.txt
In short how do I do a file read using default input/output
You should check the arguments to
mainto see if there is an argument given to the program. If it is then you can use that as the file, otherwise you usestd::cin.Here is an example:
The reason I call another function to read and process the input, is because you can not assign streams, but must use references or pointers. It’s also good to put separate tasks in separate functions, because it will increase readability of the code.