On Jan 23, 2008 9:59 PM, nimak247 <[EMAIL PROTECTED]> wrote:
> Hello,
>
> I am attempting to take user input and write it to a file in the form
> of a record. I am having some difficulty in getting an integer and
> writing it to the file. I am not sure if I am receiving it in the
> wrong manner, or if I am writing it to the file in a wrong manner.
> Where the integer should be I get non-numbers (sometimes very strange
> ones). Can some please tell me what I am doing wrong? Any help would
> be greatly appreciated!
>
> nim.
Why are you using C-style strings? If you're doing a C++ solution you
should be using C++ strings, which are objects and much easier to use
than char * or char[].
> #include <iostream>
> #include <fstream>
> #include <string.h>
> using namespace std;
>
> int get_int(int default_value);
> char name[21];
>
> int main() {
> char filename[81]; //receives the filespec of the file
> int mileage;
> int n; //receives the record number for file write
> int recsize = sizeof(name) + sizeof(int); //set the record size
>
> cout << "Enter a filename: ";
> cin.getline(filename, 80);
>
> //open file for binary read/write access
> fstream myFile(filename, ios::binary | ios::in | ios::out);
> if(!myFile){
> cout << "Could not open the file " << filename;
> return -1;
> }
>
> //get record number and go to record
> cout << "Enter a record number and press Enter: ";
> n = get_int(0);
>
> //get input from user
> cout << "Enter model: ";
> cin.getline(name, 20);
> cout << "Enter mileage: ";
> mileage = get_int(0);
>
> //write data to file
> myFile.seekp(n * recsize);
> myFile.write(name, 20); //name var is type char, so no type
> conversion necessary
> myFile.write(reinterpret_cast<char*>(&mileage), sizeof(int));
>
> myFile.close();
> return 0;
> }
>
> //get integer function.
> int get_int(int default_value) {
> char s[81];
>
> cin.getline(s,80);
> if (strlen(s) == 0) {
> return default_value;
> }
> return atoi(s);
> }
>
>
>
>
>
> To unsubscribe, send a blank message to <mailto:[EMAIL PROTECTED]>.
> Yahoo! Groups Links
>
>
>
>
--
------------------------------------------------------------
"In the rhythm of music a secret is hidden;
If I were to divulge it, it would overturn the world."
-- Jelaleddin Rumi