文字列をトークン化したいのですが、非常に特別な方法です。
スペースで区切られた3つの単語グループで構成される次の文字列があります。
文字列=abcdef ghi
問題は、2番目のスペースまで文字列変数のすべての内容を別の文字列にロードしたいということです。つまり、私は取得したいと思います:
結果=abcdef
そして、abcだけではありません(その解決策は他のフォーラムにありました)。各単語の長さは異なる場合があることに注意してください。
どうすればいいですか?
2番目のスペースまで、文字列変数のすべてのコンテンツを1つの文字列にロードしたいと思います
どうですか:
char *space = strchr(string, ' ');
if (!space)
error;
space++;
space = strchr(space, ' ');
if (!space)
error;
または、常に正確に 3 つの単語があることがわかっている場合は、単一strrchr
(逆) を実行します。または、2sscanfs
を実行してから文字列を結合したり、2 strtok
s などを実行したりすることもできます。