3

15 年ぶりに C++ に戻ってきました...なぜポインターのアドレスが必要なのか思い出せません。このステートメントのように:

char *next_token = NULL;
char *pszMozilla = strtok_s(szCopyVariable, "/", &next_token);

ポインターのアドレスが最終的にポインターのリストの開始を表すという仮定はありますか?

4

2 に答える 2

9

strtok_s再入可能な関数であり、何らかの状態をどこかに保存する必要があります。その状態は、最後に処理した文字の次の文字へのポインターです。(考えてみてください。トークン化を再開するために本当に必要なのはこれだけです。)

関数が X をユーザー提供のスペースに格納したい場合、ユーザーは X へのポインターを提供し、X がどこに行くかを示す必要があります。この場合、X は「char へのポインター」です。

于 2013-05-23T19:58:32.077 に答える