A parte il filtro sul newline direi che questo funziona

Codice PHP:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>


int main(void){
    
char mio_buf[100];
    
chartmp_string[10];
    
charprr[10];
    
FILE *file_in_ptr;
    
int index;
    
double val;
    
    if((
file_in_ptr=fopen("infile.txt","r"))==NULL)exit(1);
    while(
fgets(mio_buf100file_in_ptr)){
                         
index=0;
                         if(
mio_buf[0]!='\n'){
                         
tmp_string[index]=strtok(mio_buf" ");
                         
printf("token: %s: "tmp_string[index]);
                         
//stampa il primo token della riga
                         //di sicuro è un numero
                         
val=atof(tmp_string[index])+0.1;
                         
printf("double + 0.1 = %.2f\n"val);
                         while((
tmp_string[index++]=strtok(NULL" "))!=NULL) {
                            
printf("TOKEN: %s: "tmp_string[index-1]);
                if(
tmp_string[index-1][0]=='-')
                 
printf("sottrazione\n");
                else if(
tmp_string[index-1][0]=='+')
                 
printf("addizione\n");
                else if(
tmp_string[index-1][0]=='*')
                 
printf("moltiplicazione\n");
                else if(
tmp_string[index-1][0]=='/')
                 
printf("divisione\n");    
                else { 
                 
val=atof(tmp_string[index-1])+0.1;
                 
printf("double + 0.1 = %.2f\n"val);
                }

                            }
                         
//stampa il resto
                         
}
    }

    
fclose(file_in_ptr);
printf("\n");   
system("PAUSE"); 
return 
0;   

Codice PHP:
$ ./prova
token
621.4double 0.1 621.50
TOKEN
2double 0.1 2.10
TOKEN
: +: addizione
TOKEN
6.12double 0.1 6.22
TOKEN
: +: addizione
TOKEN
12double 0.1 12.10
TOKEN
: -
sottrazione
token
19double 0.1 19.10
TOKEN
2double 0.1 2.10
TOKEN
: +: addizione
TOKEN
9double 0.1 9.10
TOKEN
: +: addizione
TOKEN
15double 0.1 15.10
TOKEN
: -
sottrazione
token
14double 0.1 14.10
TOKEN
488double 0.1 488.10
TOKEN
: +: addizione
TOKEN
6double 0.1 6.10
TOKEN
: +: addizione
TOKEN
10double 0.1 10.10
TOKEN
: -
sottrazione
token
12double 0.1 12.10
TOKEN
2double 0.1 2.10
TOKEN
: +: addizione
TOKEN
232double 0.1 232.10
TOKEN
: +: addizione
TOKEN
12double 0.1 12.10
TOKEN
: -
sottrazione
token
916double 0.1 916.10
TOKEN
2double 0.1 2.10
TOKEN
: +: addizione
TOKEN
13double 0.1 13.10
TOKEN
: +: addizione
TOKEN
12double 0.1 12.10
TOKEN
: -
sottrazione
token
22double 0.1 22.10
TOKEN
5double 0.1 5.10
TOKEN
: +: addizione
TOKEN
700double 0.1 700.10
TOKEN
: +: addizione
TOKEN
32double 0.1 32.10
TOKEN
: -
sottrazione
token
19double 0.1 19.10
TOKEN
2double 0.1 2.10
TOKEN
: +: addizione
TOKEN
1double 0.1 1.10
TOKEN
: +: addizione
TOKEN
15double 0.1 15.10
TOKEN
: -
sottrazione
token
30double 0.1 30.10
TOKEN
5double 0.1 5.10
TOKEN
: -: sottrazione
TOKEN
7double 0.1 7.10
TOKEN
: *
moltiplicazione

sh
PAUSEnot found