C альтернатива sscanf()

#c #cin #scanf

#c #cin #scanf

Вопрос:

У меня есть следующая функция:

 static void cmd_test(char *s)
 {
    int d = maxdepth;
    sscanf(s, "%*s%d", amp;d);
    root_search(d);
  }
  

Как я могу добиться того же результата с помощью C , а не с помощью sscanf ?

Ответ №1:

 int d = maxdepth;
sscanf(s, "%*s%d", amp;d);
  

Считывает строку (которая нигде не сохраняется), а затем считывает десятичное целое число. Используя потоки, это было бы:

 std::string dont_care;
int d = maxdepth;

std::istringstream stream( s );
stream >> dont_care >> d;
  

Комментарии:

1. я ПОЛУЧАЮ: std::istringstream stream’ имеет инициализатор, но ОШИБКУ неполного типа

2. @user975900: вам нужно #include <sstream>