C++ — How to convert a string into multiple integers?

General Tech Bugs & Fixes 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

I am drawing shapes in an SVG s://forum.tuteehub.com/tag/f">file that I generate through input I give with a .dat s://forum.tuteehub.com/tag/f">file.

I s://forum.tuteehub.com/tag/f">f="https://s://forum.tuteehub.com/tag/f">forum.tuteehub.com/tag/need">need to take a s://forum.tuteehub.com/tag/f">f="https://s://forum.tuteehub.com/tag/f">forum.tuteehub.com/tag/line">line s://forum.tuteehub.com/tag/f">from the .dat s://forum.tuteehub.com/tag/f">file, and remove 4 individual integers s://forum.tuteehub.com/tag/f">from it, and save those integers into a vector. To do this, I've attempted to create a class, square, that holds 4 integers (they represent the top les://forum.tuteehub.com/tag/f">ft and bottom right coordinates os://forum.tuteehub.com/tag/f">f the square). Pres://forum.tuteehub.com/tag/f">ferably, I'd be able to do this in a constructor os://forum.tuteehub.com/tag/f">f the class, but I have no idea to go about doing that.

Essentially, I know I'll have a s://forum.tuteehub.com/tag/string">string that looks something like "1 1 50 50," and I want to turn it into 4 integers.

I've tried the code below, but it obviously doesn't work because it only saves the s://forum.tuteehub.com/tag/f">first integer it comes across.

while (gets://forum.tuteehub.com/tag/f">f="https://s://forum.tuteehub.com/tag/f">forum.tuteehub.com/tag/line">line(s://forum.tuteehub.com/tag/f">file,s))
  {
    int *s://forum.tuteehub.com/tag/f">f = new int(stoi(s));
    vec.push_back(s://forum.tuteehub.com/tag/f">f);
  }

I appreciate any help :)

profilepic.png
manpreet 2 years ago
#include stream>
#include <sstream>
#include 
#include <string>

int main (void) {

    std::istringstream is { "1 1 50 50\n" };  /* simulated input */
    std::string s;
    std::vector<int> vect;

    while (getline (is, s)) {       /* read string */
        int f;                      /* declare int */
        std::stringstream ss (s);   /* make stringstream from s */
        while ((ss >> f))           /* read ints from ss into f */
            vect.push_back (f);     /* add f to vector */
    }

    for (auto& i : vect)            /* output integers in vector */
        std::cout << i << '\n';
}

0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.