2011-12-17 140 views
2

fscanf()を使用してカンマやドットなしで文字列を読み取ろうとしています。fscanf()を使用してカンマとドットを無視する

例入力:

「夫妻Dursleyのは、4番の、イボタノキドライブは、彼らはどうもありがとうございました、完全に正常であったと言うことを誇りに思いました。」

は、私は「ミスター」、「夫人」と「Dursleyの」私はこの使用してオプションの引数を行うには、いくつかの方法を試してみました例えばたび

を読みたいが、私は失敗しました。 fscanf()を使用してカンマやドットを無視するにはどうすればよいですか?

答えて

1

これを行うにはthe regex feature of sscanfを使用できます。

#include <stdio.h> 


int main() 
{ 
    char *str = "Mr. Fiddle Tim went to the mall. Mr. Kurdt was there. Mrs. Love was there also. " 
    "They said hi and ate ice cream together." ; 

    char res[800] = { 0 }; 
    sscanf(str, "%800[^.,]", res) ; 
    puts(str) ; 
} 

続けるために、あなたは一致していたどのように多くの文字を識別するためにsscanf(またはfscanf)の戻り値を使用する必要があります。私はあなたにそれを残す。

関連する問題