Solved

write to file problem

Posted on 2000-02-18
6
335 Views
Last Modified: 2012-05-04
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";
    }
}

0
Comment
Question by:winson
  • 3
  • 3
6 Comments
 
LVL 22

Expert Comment

by:nietod
ID: 2535770
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?
0
 
LVL 22

Expert Comment

by:nietod
ID: 2535773
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;
}
0
 
LVL 22

Expert Comment

by:nietod
ID: 2535798
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.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 14

Accepted Solution

by:
AlexVirochovsky earned 300 total points
ID: 2535802
Next is code:
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main( int argc, char *argv[])
{
    int lpN[3];
    FILE *stream;
    memset(lpN, 0, sizeof(lpN));
    // If more than .EXE filename supplied, and if the
    // /n command-line option is specified, the listing
    // of environment variables is line-numbered.

    // Walk through list of strings until a NULL is encountered.
    for( int i = 1; i < argc; i++ )
     {
        cout << i << ": " << argv[i] << "\n";
        lpN[i-1] = atoi(argv[i]);
     }
    stream = fopen ("mtfile.txt","wt");
    if (stream)
      {
        fprintf(stream, "%d\n", lpN[0] + lpN[1]);
        fprintf(stream, "%d\n", lpN[0] + lpN[1] + lpN[2]);
        fclose(stream);
      }
}
I hope, it helps. Alex
0
 
LVL 14

Expert Comment

by:AlexVirochovsky
ID: 2535811
O , i see, nietod think , that it is hopework!
Winson, is it true?
0
 
LVL 14

Expert Comment

by:AlexVirochovsky
ID: 2540178
nu, after 'd', i see, that it is really
homework...
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will show you some of the more useful Standard Template Library (STL) algorithms through the use of working examples.  You will learn about how these algorithms fit into the STL architecture, how they work with STL containers, and why t…
C++ Properties One feature missing from standard C++ that you will find in many other Object Oriented Programming languages is something called a Property (http://www.experts-exchange.com/Programming/Languages/CPP/A_3912-Object-Properties-in-C.ht…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now