How to store gps values in EEPROM arduino?

Hello guys,I have two successfully working individual programs,
1.GPS coordinate extract program.
2.EEPROM saving and reading program.
now all I want to do is combine them both, whenever GPS location is updated ,I want to save that latitude data to EEPROM memory repalcing the previously saved data, but I guess my program is unable to save it,its just showing blank spaces when reading EEPROM,please help me guys..here is my code.

#include <SoftwareSerial.h> 
#include <TinyGPS++.h>
#define RXPin 8
#define TXPin 9
#define GPSBaud 9600
#define ConsoleBaud 9600

// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);

// The TinyGPS++ object
TinyGPSPlus gps;
#include <EEPROM.h>
int address = 0; 
int read_value = 0; 
char data;
void setup()
{
  Serial.begin(ConsoleBaud);
  ss.begin(GPSBaud);
  Serial.println("Previous value stored :");
  for(address = 0; address < 25; address ++)        // read the entire EEPROM memory
  {  
    read_value = EEPROM.read(address);
    Serial.write(read_value);
  }
  Serial.println("\n");

}

void loop()
{

  while (ss.available() > 0)
    gps.encode(ss.read());

  if (gps.location.isUpdated() || gps.altitude.isUpdated())
  {
    Serial.print("Location: "); 
    Serial.print(gps.location.lat(), 6);
    Serial.print(",");
    Serial.print(gps.location.lng(), 6);
    Serial.println("\n");

    data=(gps.location.lat(), 6);

    for(address = 0; address < 25;  )
    {
      EEPROM.write(address, data); 
      address ++;
    }
  }
}

It may be that you've already worn out your EEPROM.

Novel for loop construction at the end of "loop()"

The loop only uses 25 addresses , and it just replaces the previous values so,I think it's not the problem,it's just unable to save "(gps.location.lat(), 6);" data...

AWOL:
It may be that you've already worn out your EEPROM.

prabhatverma:
The loop only uses 25 addresses , and it just replaces the previous values so,I think it's not the problem,it's just unable to save "(gps.location.lat(), 6);" data...

Yeah but how often is it updating? Reference page says:

The EEPROM memory has a specified life of 100,000 write/erase cycles, so you may need to be careful about how often you write to it.

ok then I will try to add a delay line and check if it's working.

    data=(gps.location.lat(), 6);

What do you think this is doing? It isn't doing that, but fixing it depends on what you think it is doing.

All that it is actually doing is storing the value 6 in data (not even the character '6').

Storing the value 6 in 25 locations in EEPROM makes no sense.