Jump to content
Metalhead

Converter string para inteiro

Recommended Posts

Metalhead

Boa tarde, 

A minha dúvida é a seguinte, estou a utilizar a função stoi() para me converter uma string para inteiros, no entanto, está-me a dar erro e não faço ideia. Estou a usar listas para esse efeito, quero passar os dados para uma string e dois inteiros.

Aqui vai o meu código:

while (getline(file1, line))
            {
                stringstream ss(line);
                
                //getline(ss, a->setNome, ';');
                a->setNome(line);
                a->setMercadoria(stoi(line));
                a->setNFronteira(stoi(line));
                //cout << a->setNome << endl;
                P.push_back(a);
            }

 

Share this post


Link to post
Share on other sites
HappyHippyHippo

usa o operador >> do stringstream para obter o valor inteiro que pretendes

Edited by HappyHippyHippo
Correct operator

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Metalhead
12 horas atrás, HappyHippyHippo disse:

usa o operador << do stringstream para obter o valor inteiro que pretendes

O problema é que não estou a dar valores nenhuns, estou a buscá-los a um ficheiro

Share this post


Link to post
Share on other sites
HappyHippyHippo
1 hour ago, Metalhead said:

O problema é que não estou a dar valores nenhuns, estou a buscá-los a um ficheiro

quê ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Metalhead
23 horas atrás, HappyHippyHippo disse:

quê ?

Não consigo passar os valores do ponteiro 'a' para uma lista que tenho. Cada vez que tento listar dá-me valores completamente diferentes! Onde estou a errar?

while (getline(file2, line))
            {
                stringstream ss(line);

                getline(ss, str, ';');
                a->setID_P(stoi(str));
                //ss >> a->ID_P;
                P.push_back(a);

                getline(ss,str, ';');

                a->setNome(str);
                //ss >> a->Nome;
                P.push_back(a);
                
                getline(ss, str, ';');

                a->setMercadoria(stoi(str));
                //ss >> a->Mercadoria;
                P.push_back(a);

                getline(ss, str, ';');

                a->setNFronteira(stoi(str));
                //ss >> a->NFronteira;
                P.push_back(a);
}

 

Share this post


Link to post
Share on other sites
HappyHippyHippo

Já te disse como ler os valores inteiros do stream, se continuares a ignorar, continuarás a ter problemas


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.