2011-08-15 26 views
0

私はJavaプログラマであり、Visual C++には全く新しいものです。私は以下のようなCStringから2つの整数を抽出したい。文字列から数値を抽出する

セグメント[1つの入口部] [10 RC軸曲げ]

にノーを抽出します。 1と10は文字列から始まり、その位置は常に "["の後になりますが、文字列の文字数は異なる場合があります。

正規表現を使用できますか?私は正規表現を使うために "Boost"のようなライブラリが必要であることを知りました。これを行うためにライブラリを使用する以外の簡単な方法はありますか?あなたのアイデアを教えてください。

ありがとうございます。

答えて

1

おそらく

編集トークンからの番号を取得するにはatoi関数を使用して、文字列をtokeniseするためにはstrtokを使用することができます。

これは非常に簡単で、エラーチェックを持っていません。

void getNumbers(CString inputString, int & number1, int & number2) 
{ 
    char tempBuf[300]; 
    strcpy(tempBuf, inputString.GetBuffer()); 
    char * startString = strtok(tempBuf,"["); 
    char * num1String = strtok(NULL,"["); 
    char * num2String = strtok(NULL ,"["); 
    number1 = atoi(num1String); 
    number2 = atoi(num2String); 
} 
+0

Jetに感謝します。私に例を教えてもらえますか? – gishara

関連する問題