[c++] trasformare un array di caratteri in un array di valori

sabato 05 febbraio 2005 - 16.59

Andry80 Profilo | Newbie

Salve a tutti.
Ho un problemino con questo array ch di caratteri.

{asb 10 asc 20 asv 30 asn 2}

Come posso trasformare questa sequenza in un array che contiene solo i valori numerici {10,20,30,2}?
In c# si separano gli elementi con il comando split , ed in questo caso, utilizzando come separatore proprio la presenza degli spazi ' ';
Come posso fare in c++????
A me basta anche soltanto avere l'array {asb,10,asc,20,asv,30,asn,2}

Grazie

Cteniza Profilo | Guru

Se utilizzi il c++.NET hai il framework con la split

Cteniza Profilo | Guru

Scusa non mi ero accorto che chiedevi la cosa per vs6

Cteniza Profilo | Guru

Prova con questo

#include <vector>
#include <string>
#include <iostream>

void split_string(const std::string& source, const std::string& delims,
std::vector<std::string>& result)
{
std::string::size_type begin(0);
std::string::size_type end(0);

while (end != std::string::npos)
{
end = source.find_first_of(delims, begin);
result.push_back(source.substr(begin, end - begin));
begin = end + 1;
}
}

int main()
{
std::vector<std::string> strings;
split_string("This |is^ a string with;[ several ]delimiters.", ";[]^|",
strings);

for (std::vector<std::string>::size_type i = 0; i < strings.size(); ++i)
{
std::cout << '"' << strings[i] << '"' << std::endl;
}
}
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2013
Running on Windows Server 2008 R2 Enterprise, SQL Server 2008 & ASP.NET 3.5