C++ start programm with < input file and > output file -
i need know how work in c++ unix parameter < , > told me if run programme ./program < input file > output file
programme read file declared behind <
, write out file declared after >
actual code looks this
int main(int argc, char** argv)
{
file* filein = fopen(argv[1], "r"); file* fileout = fopen(argv[2], "w");
...
so want set files wich declare @ programme start handle here because going utilize filein
, fileout
later in program.
i'm allowed work stdio.h
please maintain basic.
thanks in advance
this shell cmd syntax
./program < input_file > output_file
doesn't have parameters passed main
int main(int argc, char** argv) {
you can refer std::cin
, std::cout
mentioned input , output files.
it's shell feature , called standard input/output stream redirection. if want pass parameters programme via argv
you'll utilize next syntax
./program -x --opt1 < input_file > output_file
as state
"i'm allowed work stdio.h
please maintain basic."
in case can utilize predefined stdin
/stdout
macros.
file* filein = stdin; file* fileout = stdout;
this should utilize default. if want have additional feature, user specifies particular input/output file names programme arguments, should check command line parameters passed main:
int main(int argc, char* argv[]) { file* filein = stdin; file* fileout = stdout; if(argc > 1) { filein = fopen(argv[1], "r"); } if(argc > 2) { fileout = fopen(argv[2], "w"); } }
by default programme reads standard input , writes standard output, if done above. calling programme without parameters, leaves prompt user input something.
this preferred, , flexible style implementing console programs, should process streamed input , transform (process) output.
c++ file input command-line output
No comments:
Post a Comment