文を単一スペースのみで区切られた単語にトークン化しようとしています。文から単語を取得し、サブスクライブした配列に書き込む必要があります。これが私の仕事です:
void writeToStrArrayOneByOne(char words[10][20], char *sentence){
char *tokenPtr;
int j = 0;
int a,i;
tokenPtr = strtok(sentence," ");
while(tokenPtr != NULL){
a = strlen(tokenPtr);
for(i=0;i<a;i++){
words[j][i] = tokenPtr[i];
}
tokenPtr = strtok(NULL," ");
j++;
}
そして、 main からデバッグするために、これだけで関数を呼び出します:
char words[10][20];
char *sentence = "this is a token";
writeToStrArrayOneByOne(words,sentence);
ただし、EOF例外の場合と同様にフリーズします。助けていただきありがとうございます。