Storing in a Stucture

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dru103079
    New Member
    • May 2007
    • 9

    Storing in a Stucture

    Say I have this code that is printing out:[code=cpp]
    sum = convertSixteen( bp_dat);
    outFile<<sum;
    counter++;
    if (sum ==10)
    outFile<<setw(2 5)<<"ABMOC"<<en dl<<endl;
    else if (sum == 11)
    outFile<<endl<< "A2C2"<<endl<<e ndl;
    else if (sum == 12)
    outFile<<endl<< "Battery CP"<<endl<<endl ;
    else
    outFile<<endl<< "Undefined"<<en dl<<endl;

    offset+=16;
    sum = convertSixteen( bp_dat);
    outFile<<sum;
    counter++;
    if (sum ==0)
    outFile<<setw(2 5)<<"Live Mode"<<endl<<en dl;
    else if (sum == 1)
    outFile<<setw(2 5)<<"Simulation Mode"<<endl<<en dl;
    else
    outFile<<setw(2 5)<<"Undefined" <<endl<<endl;

    offset+=16;
    sum = convertThirtyTw o(bp_dat);
    outFile<<"TADIL-B DLRP"<<endl;
    outFile<<sum<<s etw(25)<<"Latit ude"<<endl<<end l;
    counter++;


    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"Longi tude"<<endl<<en dl;
    counter++;


    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<"TADIL-B SCC"<<endl;
    outFile<<sum<<s etw(25)<<"Latit ude"<<endl<<end l;
    counter++;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"Longi tude"<<endl<<en dl;
    counter++;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<"FAAD C2I DLRP"<<endl;
    outFile<<sum<<s etw(25)<<"Latit ude"<<endl<<end l;
    counter++;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"Longi tude"<<endl<<en dl;
    counter++;


    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<"FAAD C2I MASTER Grid Vertices"<<endl ;
    outFile<<sum<<s etw(25)<<"North-East vertex Latitude"<<endl <<endl;
    counter++;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"North-East vertex Longitude"<<end l<<endl;
    counter++;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"South-East vertex Latitude"<<endl <<endl;
    counter++;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"South-East vertex Longitude"<<end l<<endl;
    counter++;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"South-West vertex Latitude"<<endl <<endl;
    counter++;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"South-West vertex Longitude"<<end l<<endl;
    counter++;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"North-West vertex Latitude"<<endl <<endl;
    counter++;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"North-West vertex Longitude"<<end l<<endl;
    counter++;

    outFile<<"FAAD C2I AOI"<<endl;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"Altit ude"<<endl<<end l;
    counter++;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"Numbe r of Points"<<endl<< endl;
    counter++;


    if (sum >=1)

    tempsum = sum;


    for ( j = 0; j<tempsum; j++)
    {

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"Latit ude"<<endl<<end l;

    offset+=32;
    sum = convertThirtyTw o(bp_dat);
    outFile<<sum<<s etw(25)<<"Longi tude"<<endl<<en dl;
    counter++;

    }


    }

    [/code]

    How can I store what is being printed out in a Structure or as an object.?
    Last edited by sicarie; Jun 8 '07, 01:57 AM. Reason: Please use [code=cpp] and [/code] tags around your code. Thanks!
  • weaknessforcats
    Recognized Expert Expert
    • Mar 2007
    • 9214

    #2
    Use a stringstream.

    Use the << operator you have to load the stringstream.

    Then write an >> operator for your class or struct object and use the stringstream as the istream.

    Here's one for a hypothetical Date object:
    [code=cpp]
    class Date
    {
    private:
    int month;
    int day;
    int year;
    public:
    friend istream& operator>>(istr eam& is, Date& dt);
    };
    istream& operator>>(istr eam& is, Date& dt)
    {
    is >> dt.month >> dt.day >> dt.year
    }

    int main()
    {
    stringstream ss;
    Date d;
    ss << 7 << ' ' << 4 << ' ' << 1776 << endl;
    ss >> d;
    }
    [/code]

    Remember to read back assumes you know the format of what was written. You may need field delimiters for playback.

    Comment

    Working...