K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>お疲れ様です。 >先生のご指摘の通り、「!isalnum(ch)」となっていました。 >この部分を修正し、動作させると実行結果は「ABCDE 1」となりました。 >ありがとうございます。 > ><修正前のget_word.c> >int get_word(char* buf, int buf_size, FILE* fp) >{ > int len; > int ch = 0; > > /* 空白文字の読み飛ばし */ > while (((ch = getc(fp)) != EOF) && !isalnum(ch)) > { > ; > } > if (ch == EOF) > { > return EOF; > } > > /* ここで、chには、単語の最初の文字が格納されている */ > len = 0; > > do > { > buf[len] = ch; > len++; > if (len >= buf_size) > { > /* 単語が長すぎるためエラー */ > fprintf(stderr, "word too long\n"); > exit(1); > } > } while (((ch = getc(fp)) != EOF) && !isalnum(ch)); //ミス!!!! > > buf[len] = '\0'; > > return len; >}
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!