intanto grazie a tutti per i post...

L'errore durante la compilazione è:" cannot convert `std::string' to `const char*' for argument `1' to `double atof(const char*)' "
Ora ho capito male o una stringa e un array di caratteri sono la stessa cosa? Quindi quel "const char*" non dovrebbe essere il puntatore al primo elemento di un array di char?

In effetti il problema sarebbe risolto se leggessi direttamente come float. Il fatto è, però, che la funzione legge un carattere alla volta (per identificare quale deve effettivamente trattare come float e quale no, visto che la stringa è alfanumerica) e alla fine concatena tutti i caratteri in modo da formare la stringa che poi deve essere convertita.

spero che il post sia abbastanza chiaro altrimenti vedrò di postare la funzione in modo da rendervi la vita più facile. Thanks