0

文字列をトークン化したいのですが、非常に特別な方法です。

スペースで区切られた3つの単語グループで構成される次の文字列があります。

文字列=abcdef ghi

問題は、2番目のスペースまで文字列変数のすべての内容を別の文字列にロードしたいということです。つまり、私は取得したいと思います:

結果=abcdef

そして、abcだけではありません(その解決策は他のフォーラムにありました)。各単語の長さは異なる場合があることに注意してください。

どうすればいいですか?

4

1 に答える 1

1

2番目のスペースまで、文字列変数のすべてのコンテンツを1つの文字列にロードしたいと思います

どうですか:

char *space = strchr(string, ' ');
if (!space)
    error;
space++;
space = strchr(space, ' ');
if (!space)
    error;

または、常に正確に 3 つの単語があることがわかっている場合は、単一strrchr(逆) を実行します。または、2sscanfsを実行してから文字列を結合したり、2 strtoks などを実行したりすることもできます。

于 2013-01-21T17:51:18.643 に答える