1

やあ皆さん、私は次のことをしようとしています:

フォームの文字列があり、_ は実際にはスペースです。:

__ 1 _ __ _マルチスレッド プログラミング :: スレッドによるパフォーマンスの向上

スペースなしで整数を読み取り、文字列の前にあるスペースを含む残りの文字列を読み取りたいです。

次のコードがあります。

while(fgets(line, MAX_STRINGS, stdin)){
    sscanf(line, "%d %88[^\n]s", &num, string_value);
    printf("%d + %s\n", num, string_value);
}

整数を読み取り、残りの文字列も読み取ります(整数を含む文字列全体が88バイトを超えないという問題の状態に対する私の要件)が、文字列の前のすべてのスペースを省略し、それらが必要です. 空白を維持するにはどうすればよいですか?ありがとう!

4

1 に答える 1

3

%d と %88 の間のスペースを削除します。フォーマット文字列内のスペースは、sscanf「すべての空白を消費して破棄する」ことを意味します。

于 2013-10-28T19:25:36.047 に答える