Использование ifstream как fscanf

Предположим, что у меня есть входные данные следующим образом:

N (X_1,Y_1) (X_2,Y_2) .... (X_N, Y_N)

где N, X_i и Y_i - целые числа.

Пример:

2 (55,1) (521,7)

Чтобы прочитать это, я могу сделать что-то вроде этого (предположим, что все переменные определены и т. Д.):

fscanf(fin,"%d ",&N);
for (int i = 0; i < N; i++)
   fscanf(fin,"(%d,%d) ", &X[i], &Y[i]);

Вопрос в том, как я могу легко это сделать с помощью ifstream. Я могу получить строку, а затем избавиться от нецифров и, используя поток строк, могу получить два числа, но это кажется немного громоздким. Есть ли что-то попроще, более элегантный способ?

Спасибо

9
задан kolistivra 17 January 2011 в 08:28
поделиться