0

だから私は次のような文字列を持っています:

char* line="foo bar\tbaz\nbiz";

この文字列を一度に 1 単語ずつ解析し、単語に応じてさまざまなことを行いたいと考えています。このようなもの:

void process_word(const char* str) //str will point to the beginning of a word
{
  if(!strcmp(str, "foo")){
    foo();
  }else if(!strcmp(str, "bar")){
    bar();
  }else{
    others();
  }
}

strcmp のようなものを使用して \0 で比較を停止する代わりに、スペースやその他の空白文字で停止するにはどうすればよいでしょうか?

新しいバッファの作成や、正規表現のような過剰なソリューションがないことによるボーナス ポイント

4

4 に答える 4