Originariamente inviato da davide84
beh grazie davvero per l'aiuto,
il programma converte delle stringhe costanti in numeri
Precisamente, la funzione parse converte dei std::string in numeri.
Indirettamente, nel programma convertiamo dei char* in numeri, dato che std::string ha un costruttore che accetta un char*.
ma come posso fare a convertire delle stringhe che ho letto da un file???
grazie ancora per l'aiuto
nella stessa maniera. Leggi il file, ottieni le stringhe e passale alla funzione. Ad esempio, se hai un file come questo:
codice:
1 10 -23
5 9.324 43
in cui ogni numero è diviso da uno spazio e ogni riga è separata dal carattere di a capo, puoi fare così:
Codice PHP:
#include <iostream>
#include <sstream>
#include <string>
#include <fstream>
using namespace std;
template <typename T>
T parse(string str)
{
stringstream ss;
T t;
ss << str;
ss >> t;
return t;
}
int main()
{
ifstream inFile("num.txt");
string line;
if(inFile.is_open())
{
while( getline(inFile, line) )
{
stringstream ss;
string num;
ss << line;
while( getline(ss, num, ' ') )
{
cout << "|" << parse<double>(num) << "|" << endl;
}
}
}
return 0;
}
Nel primo ciclo leggi una riga, nel ciclo più interno splitti la riga, utilizzando lo spazio come separatore.
Ora ti basta adattarlo al formato del tuo file