Link to home
Start Free TrialLog in
Avatar of winson
winson

asked on

write to file problem

Referring to the code below
I have to run the code like
app.exe 1 23 8
so the value
argv[1] = 1
argv[2] = 23
argv[3] = 8
so what is the following code to and up let say add up
a) first two value  
b) add all value

and write the two calculate value to a file

THANX IN ADVANCE



#include <iostream.h>
#include <stdio.h>
#include <string.h>

int main( int argc, char *argv[], char *envp[] )
{
    char input[9];FILE *stream;
    int iNumberLines = 0;    // Default is no line numbers.
    // If more than .EXE filename supplied, and if the
    // /n command-line option is specified, the listing
    // of environment variables is line-numbered.

    if( argc == 2 && stricmp( argv[1], "/n" ) == 0 )
        iNumberLines = 1;

    // Walk through list of strings until a NULL is encountered.
    for( int i = 0; envp[i] != NULL; ++i )
    {
        if( iNumberLines )
            cout << i << ": " << envp[i] << "\n";
    }
}

Avatar of nietod
nietod

We cannot provide answers to school assignments.  That is grounds for removal from this site.  (for both you and the experts involved.)  We can provide only limitied help in accademic assignments.    We can answer specific (direct) questions, like you might ask your teacher.  We can review your work and post suggestions, again, like your teacher might do.

Do you have specific questions?
Do you have any work on this (incomplete even) that we can review?
I'll tell you this much for now.

To write a number to a file you need to use an fstream object like so

#include <fstream>
using namespace std;

int main()
{
   fstream File("thefilename",ios_base::out);
   int X = 5;

   File << X;
}
A bit more.  The values to be added together are specified as parameters to the program in the argv[] array.  This means the values are all character strings.  i.e they are characters that express the value, not the binary representation of the value.  i.e. the values are expresed like

char *AValue = "1999";

not like

int x = 1999;

The computer can't do math on a string anymore than you can do math like
  "one + "five"

The strings need to be converted to the integer values they represent.  (like you would convert "two" to 2).  This can be done using the atoi() function.

If that doesn't help enough, try to ask more specific questions.
ASKER CERTIFIED SOLUTION
Avatar of AlexVirochovsky
AlexVirochovsky

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
O , i see, nietod think , that it is hopework!
Winson, is it true?
nu, after 'd', i see, that it is really
homework...