0

istringstream を使用して、次の C コードを C++ に変換したいと考えています。

void test(char *s) {
   int i;
   sscanf(s, "%*s%d", &i);
}

私がこれまでに持っているものは次のとおりです。

void test(char *s) {
   int i;
   istringstream iss(s);
   iss >> s >> i;
}

エラーが発生します。私は istringstream にはあまりにもなじみがなく、修正するために何をすべきかわかりません。私の間違いについての洞察を期待しています。s は、スペースを含まない文字列と整数 (Good123 など) であると想定されており、整数を削除して i に配置したいと考えています。

4

1 に答える 1

0

まず、別の変数を使用して、結果の解析済み文字列を格納する必要があります。

void test(char *s) {
   int i;
   string s1;
   istringstream iss(s);
   iss >> s1 >> i;
}
于 2013-02-14T05:11:56.820 に答える