[TriLUG] Scripting & C++ question
Owen Berry
oberry at trilug.org
Mon Nov 14 09:45:21 EST 2005
On Fri, Nov 11, 2005 at 04:43:02PM -0500, Mark Freeze wrote:
> On 11/11/05, Carolinux.com <bobevans19 at gmail.com> wrote:
> ls /dir/*.txt | yourCplusPlusProgram
>
> This didn't work for me...
> I thought it might be my program so I wrote the following simple
> program to test it.
>
> #include <iostream>
> #include <fstream>
>
> /* arg_test.cpp */
>
> using namespace std;
>
> int main(int argc, char *argv[])
> {
> for(int val=0; val<=argc; val++)
> cout << argv[val] << endl;
>
> return 0;
> }
>
> This ("./arg_test bob carol ted alice") generates:
> ./arg_test
> bob
> carol
> ted
> alice
>
> However this (ls /home/mark/programs/cpp | ./arg_test) only generates:
> ./arg_test
>
> Any suggestions?
>
> Thanks,
> Mark.
This wouldn't work because you are passing the file names into the
process on STDIN, but reading them as command line arguments.
You would need to use C functions getc(stdin) or gets(buff) or some
other variation, or std::cin >> buff, if you would like to use C++
streams.
Owen
More information about the TriLUG
mailing list