2011-10-25 88 views
1

我有以下功能:C++替代的sscanf()

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

如何可以實現在一個C++方式相同的輸出,而不是使用sscanf

回答

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

讀取一個字符串(它不存儲在任何地方),然後讀取一個十進制整數。使用流將是:

std::string dont_care; 
int d = maxdepth; 

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

我越來越:性病:: istringstream流」有初始值設定但不完全類型的錯誤 – user975900

+2

@ user975900:你需要的#include''