strtok等の文字列を分割する関数を用いずに文字を分割するプログラムについての質問
c言語についての質問です。
文字配列 char text[]="It is good to see you. Thank you for coming."; を宣言し、
textの文字列を単語ことに分割して標準出力するというプログラムを作成しています。
ルールとしてスペースやピリオドは出力せず、出力する単語は一行に一単語ずつ '['と']'
で囲んで出力するというプログラムです。
また、単語間は必ず一文字分のスペースで区切られているという前提で作成してよいとする。
strtok等の文字列を分割する関数を用いずに作成する。外部プログラムの呼び出しもNG
という前提です。
発生している問題・エラーメッセージ
str[0] : [It ]
str[1] : [is ]
str[2] : [good ]
str[3] : [to ]
str[4] : [see ]
str[5] : [you. ]
str[6] : [Thank ]
str[7] : [you ]
str[8] : [for ]
str[9] : [coming.]
続行するには何かキーを押してください . . .
これは、プログラムを実行したときの実行結果です。
しかし、先生から スペースやピリオドを除いてください.ということでした。
いろいろサイトを見て試してみたのですがどうしても回答に行きつきません。 どうしたらよいでしょうか?
初めての質問なので不慣れな点があるかと思いますが、よろしくお願いします
int main(void)
{
int i;
char text[]="It is good to see you. Thank you for coming.";
char str[10][256+1];
char *s, *d;
s = text;
for(i=0; i<10;i++)
{
d = str[i];
while ((*d++ = *s++) != _SPACE)
{
}
*d = '\0';
}
for(i=0; i<10; i++)
{
printf("str[%d] : [%s]\n",i,str[i]);
}
}
いろいろなサイトを見て、#define _SPACE 0x20
を追加してみたもののうまくいきませんでした。