Compare logged data on SD card to current reading - £25 for working answer

GadgetCanyon:
1: Can you explain this part of the code, i get sprintf() from your explination however the parts inside the brackets i'm not sure how each works. sprintf(line, "%10d %6s %7s", now.unixtime(), temp, press);
[/code]

sprintf() helps formatting string.
line is the destination
then the format string: 10 characters digits; 6 characters string; 7 characters string.
And the parameters: the timestamp (seconds since epoch), temperature, pressure.

More reference on sprintf here, and details on the format string here in this printf reference. Note that printf() as such is not available on Arduino, and also the f parameter is not implemented on Arduino, hence the workaround.

2: I'm really sorry however i'm not sure on the second part of your answer

I fixed the smiley face already...

After reading a line from your file in a char array, you can use that function to distil the appropriate parts.

char line[26]; // Line of data goes in this char array.

char temp[7]; // Store the temperature as string in here.
strncpy(temp, *line + 11, 6); // Read 6 characters from line starting at the 12th character and copy this into char array temp.
float T = atof(temp);