2016-04-27 5 views
-3

Я хочу прочитать целые числа в строке из файла.Как читать целые числа из строки в C++?

Например, строка: 3/2 + 5-5

Я думаю, что нужно использовать >>, но он остановлен из персонажей;

Я также пытаюсь использовать другие функции, но все они предназначены для символов.

+1

Нет простого способа сделать это. Я предлагаю читать во всей строке, а затем ее токенизировать. – Fang

ответ

2

Как уже указывал @Fang, нет простого способа сделать это. Вы можете прочитать всю строку и пометить ее следующим кодом:

std::ifstream f("file.txt"); 

std::string line; 
std::getline(f, line); 

std::vector<std::string> integers; 
boost::split(integers, line, boost::algorithm::is_any_of("+-*/"), boost::token_compress_on); 

// Then convert strings from the integers container to ints