Вставьте несколько входов в одну строку в C ++ - PullRequest
1 голос
/ 30 октября 2011

Я пытаюсь вставить несколько входов в одну строку с запятой и пробелом между входами.Метод, который я использовал до сих пор, разделяет входные данные пробелами.

int a, b , c ,d
cin >> a >> b >> c >> d ;

С этим методом строка ввода выглядит следующим образом:

1 2 3 4

Но я хочу иметь возможностьвходные данные, как это:

1, 2, 3, 4

Ответы [ 3 ]

3 голосов
/ 30 октября 2011

Символ-разделитель для >> нельзя изменить, но вы можете использовать его в сочетании с ignore:

std::cin >> a;
std::cin.ignore(1, ',')

// rinse and repeat
1 голос
/ 30 октября 2011

Вы можете сделать это:

int main() {
        int a,b,c,d;
        char comma;
        std::cin >> a >> comma >> b >> comma >> c >> comma >> d;
        std::cout << a << " " << b << " " << c << " " << d << std::endl;
        return 0;
}

Вход:

1, 2, 3, 4

Выход:

1 2 3 4

Демонстрация: http://www.ideone.com/tXQZd

0 голосов
/ 30 октября 2011

В C / C ++ вам нужно только сделать следующее:

scanf("%d, %d, %d, %d", &a, &b, &c, &d);

Вам нужно только включить <cstdio>

...